| PostgreSQL Reference Manual - Volume 3 - Server Administration Guide by The PostgreSQL Global Development Group Paperback (6"x9"), 204 pages ISBN 0954612043 RRP £13.95 ($24.95) Sales of this book support the PostgreSQL project! Get a printed copy>>> |
4.6.3 Genetic Query Optimizer
geqo(boolean)-
Enables or disables genetic query optimization, which is an
algorithm that attempts to do query planning without
exhaustive searching. This is on by default. The
geqo_thresholdvariable provides a more granular way to disable GEQO for certain classes of queries. geqo_threshold(integer)-
Use genetic query optimization to plan queries with at least
this many
FROMitems involved. (Note that aFULL OUTER JOINconstruct counts as only oneFROMitem.) The default is 12. For simpler queries it is usually best to use the deterministic, exhaustive planner, but for queries with many tables the deterministic planner takes too long. geqo_effort(integer)-
Controls the trade off between planning time and query plan
efficiency in GEQO. This variable must be an integer in the
range from 1 to 10. The default value is five. Larger values
increase the time spent doing query planning, but also
increase the likelihood that an efficient query plan will be
chosen.
geqo_effortdoesn't actually do anything directly; it is only used to compute the default values for the other variables that influence GEQO behavior (described below). If you prefer, you can set the other parameters by hand instead. geqo_pool_size(integer)-
Controls the pool size used by GEQO. The pool size is the
number of individuals in the genetic population. It must be
at least two, and useful values are typically 100 to 1000. If
it is set to zero (the default setting) then a suitable
default is chosen based on
geqo_effortand the number of tables in the query. geqo_generations(integer)-
Controls the number of generations used by GEQO. Generations
specifies the number of iterations of the algorithm. It must
be at least one, and useful values are in the same range as
the pool size. If it is set to zero (the default setting)
then a suitable default is chosen based on
geqo_pool_size. geqo_selection_bias(floating point)- Controls the selection bias used by GEQO. The selection bias is the selective pressure within the population. Values can be from 1.50 to 2.00; the latter is the default.
| ISBN 0954612043 | PostgreSQL Reference Manual - Volume 3 - Server Administration Guide | See the print edition |