diff --git a/doc/src/sgml/ref/prepare.sgml b/doc/src/sgml/ref/prepare.sgml new file mode 100644 index dbce8f2..fce6e96 *** a/doc/src/sgml/ref/prepare.sgml --- b/doc/src/sgml/ref/prepare.sgml *************** PREPARE n *** 127,140 **** Notes ! If a prepared statement is executed enough times, the server may eventually ! decide to save and re-use a generic plan rather than re-planning each time. ! This will occur immediately if the prepared statement has no parameters; ! otherwise it occurs only if the generic plan appears to be not much more ! expensive than a plan that depends on specific parameter values. ! Typically, a generic plan will be selected only if the query's performance ! is estimated to be fairly insensitive to the specific parameter values ! supplied. --- 127,147 ---- Notes ! Prepared statements can optionally use generic plans rather than ! re-planning with each set of supplied EXECUTE values. ! This occurs immediately for prepared statements with no parameters; ! otherwise it occurs only after five or more executions produce plans ! plus planning costs that are, on average, cheaper than the generic plan. ! A generic plan assumes each value supplied to EXECUTE ! is one of the column's distinct values and that column values are ! uniformly distributed. For example, if statistics records three ! distinct column values, a generic plan assumes a column equality ! comparison will match 33% of processed rows. Column statistics ! also allows generic plans to accurately compute the selectivity of ! unique columns. Comparisons on non-uniformly-distributed columns and ! specification of non-existent values affects the average plan cost, ! and hence if and when a generic plan is chosen. Once a generic plan is ! chosen, it is used for the remaining lifetime of the prepared statement. *************** PREPARE n *** 142,148 **** for a prepared statement, use . If a generic plan is in use, it will contain parameter symbols $n, while a custom plan will have the ! current actual parameter values substituted into it. --- 149,157 ---- for a prepared statement, use . If a generic plan is in use, it will contain parameter symbols $n, while a custom plan will have the ! supplied parameter values substituted into it. ! The row estimates in the generic plan reflect the selectivity ! computed for the parameters.