Re: GEQO and join_collapse_limit correlation

Поиск
Список
Период
Сортировка
От Juan José Santamaría Flecha
Тема Re: GEQO and join_collapse_limit correlation
Дата
Msg-id CAC+AXB3ZaGLc=1qJgbWHGtguw4Nd9XgGeqEeP5-K0OSbeCNgGA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: GEQO and join_collapse_limit correlation  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: GEQO and join_collapse_limit correlation  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-performance
Hi,

> After some testing in order to lower the planning time we ended bringing
> down the GEQO values, and we have the best results with:

> from_collapse_limit = 150
> join_collapse_limit = 150
> geqo_threshold = 2
> geqo_effort= 2

Hmm.  The trouble with this approach is that you're relying on GEQO
to find a good plan, and that's only probabilistic --- especially so
when you're reducing geqo_effort, meaning it doesn't try as many
possibilities as it otherwise might.  Basically, therefore, the
fear is that every so often you'll get a bad plan.

What we felt odd was having to find a balance between geqo_threshold and join_collapse_limit, lowering one was only effective after raising the other. The geqo_effort was only mofidied after we found this path, and some more testing.

In an environment with geqo_threshold=1 and join_collapse_limit=1, would the planner be GEQO exclusive (and syntactic)?

If the queries are fairly stylized, you might be able to get good
results by exploiting rather than bypassing join_collapse_limit:
determine what a good join order is, and then write the FROM clause
as an explicit JOIN nest in that order, and then *reduce* not raise
join_collapse_limit to force the planner to follow the syntactic
join order.  In this way you'd get rid of most of the run-time
join order search effort.  Don't know how cooperative your ORM
would be with such an approach though.

The ORM seems to build the join path just the other way round of what would be good for the planner. The thing we should take a good look at if it is really needed looking at +120 tables for a query that gets a pretty trivial result, but that is completely off topic.
 
                        regards, tom lane

Thanks for your repply.

Regards,

Juan José Santamaría

В списке pgsql-performance по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: GEQO and join_collapse_limit correlation
Следующее
От: Tom Lane
Дата:
Сообщение: Re: GEQO and join_collapse_limit correlation