Re: Merge Join vs Nested Loop

Поиск
Список
Период
Сортировка
От Tobias Brox
Тема Re: Merge Join vs Nested Loop
Дата
Msg-id 20060927190145.GB28174@oppetid.no
обсуждение исходный текст
Ответ на Re: Merge Join vs Nested Loop  (Tobias Brox <tobias@nordicbet.com>)
Список pgsql-performance
I found a way to survive yet some more weeks :-)

One of the queries we've had most problems with today is principially
something like:

  select A.*,sum(B.*) from A join B where A.created>x and ... order by
  A.created desc limit 32 group by A.*

There is by average two rows in B for every row in A.
Note the 'limit 32'-part.  I rewrote the query to:

  select A.*,(select sum(B.*) from B ...) where A.created>x and ...
  order by A.created desc limit 32;

And voila, the planner found out it needed just some few rows from A,
and execution time was cutted from 1-2 minutes down to 20 ms. :-)

I've also started thinking a bit harder about table partitioning, if we
add some more redundancy both to the queries and the database, it may
help us drastically reduce the real expenses of some of the merge
joins...


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

Предыдущее
От: Matthew Schumacher
Дата:
Сообщение: Problems with inconsistant query performance.
Следующее
От: "Jim C. Nasby"
Дата:
Сообщение: Re: Forcing the use of particular execution plans