Re: Force a merge join?

Поиск
Список
Период
Сортировка
От Doug Fields
Тема Re: Force a merge join?
Дата
Msg-id 5.1.0.14.2.20020517144729.029a8f78@mail.pexicom.com
обсуждение исходный текст
Ответ на Force a merge join?  (Doug Fields <dfields-pg-general@pexicom.com>)
Ответы Re: Force a merge join?  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general
Hi Ian,

At 01:06 PM 5/17/2002, you wrote:
>I am having the exact same problem, although setting enable-nestloop = off
>fixes my problem.  Does it not affect yours?

No, in my case, I'm using LOWER(x) = LOWER(y) which precludes merge joins -
however, when I refactor the DB in a test situation to do x = y, as another
person has mentioned, it can be forced into merge joins.

>Anyway, I occasionally recreate and reload my entire database.  When I do
>this, the planner is flying blind and chooses merge join.  As soon as I
>vaccum analyze, it chooses nested loop and certain queries take 1.5 days
>to complete.  If I set enable_nestloop off, they take seconds.
>
>Does yours act like this?  That is, if you can reload the data in the
>affected tables so the planner uses default values, does it choose merge
>join?  Tom had indicated he would be interested in why this happens.  I
>can forward my schema and another example to the group if anyone wants.

In fact, yes it does. How do I know? Very simple: I did a SELECT * INTO ...
to copy my real table to a testing table so I could refactor it. Then I did
the usual EXPLAIN ANALYZE queries, and it was using merge joins. Then, I
did an "ANALYZE" (which is like VACUUM ANALYZE without the slow VACUUM) and
voila - nested loops and half second queries turning into five minute
nightmares. Then enable_nestloop would fix the problem again after that.

I played with some of the CPU TUPLE parameters but couldn't get it to force
merge joins without giving really ridiculous values which would doubtlessly
screw other things up.

Cheers,

Doug



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

Предыдущее
От: Stephan Szabo
Дата:
Сообщение: Re: if !NULL ?
Следующее
От: "Titus J. Anderson"
Дата:
Сообщение: Query not working as expected...