Обсуждение: Using the GEQO

Поиск
Список
Период
Сортировка

Using the GEQO

От
Ms swati chande
Дата:
Hi,
 
I have a few queries on the use of the geqo.
 
1. Since the value of geqo_threshold is12, does the geqo get automatically activated for queries with 12 or more joins?
2. Can the geqo threshold be set to a smaller value like 4 or 5?
3. How do we come to know whether the geqo has been used to solve the query or not? Does Explain Analyze report it?
4. If we change the value of geqo_threshold do we have to change any other parameters necessarily?
 
Please let me know these basics on the use of the geqo.
 
Thanks
Regards
Swati

Re: Using the GEQO

От
Andres Freund
Дата:
On Thursday 16 July 2009 09:02:53 Ms swati chande wrote:

> 1. Since the value of geqo_threshold is12, does the geqo get automatically
> activated for queries with 12 or more joins?
No, not directly. It will get used for 12 joins with no predefined order.

This is a bit complicated by the fact that even a predefined order like:
a JOIN b ON (..) JOIN c ON (..) ...
might get reordered if the number of joins is less than join_collapse_limit.

See
http://www.postgresql.org/docs/current/static/explicit-joins.html
> 2. Can the geqo threshold be set to a smaller value like 4 or 5?
Yes

> 3. How do we come to know whether the geqo has been used to solve the query
> or not? Does Explain Analyze report it?
No, you cannot see it directly unless you recompile with different options.

> 4. If we change the value of geqo_threshold do we have to change any other
parameters necessarily?
No.

> Please let me know these basics on the use of the geqo.
Why do you want to specifically use GEQO? Just Research? Normally you try not
to get where GEQO is used ;-)

Andres