two table join with order by on both tables attributes

Поиск
Список
Период
Сортировка
От Evgeniy Shishkin
Тема two table join with order by on both tables attributes
Дата
Msg-id 8501437C-8756-47B8-8691-CFD97717ACBB@gmail.com
обсуждение исходный текст
Ответы Re: two table join with order by on both tables attributes  (David G Johnston <david.g.johnston@gmail.com>)
Список pgsql-performance
Hello,

suppose you have two very simple tables with fk dependency, by which we join them
and another attribute for sorting

like this
select * from users join  notifications on users.id=notifications.user_id ORDER BY users.priority desc
,notifications.prioritydesc limit 10; 

Very typical web query.

No matter which composite indexes i try, postgresql can not make efficient nested loop plan using indexes.
It chooses all sorts of seq scans and hash joins or merge join and always a sort node and then a limit 10.

Neither plan provides acceptable performance. And tables tend to grow =\

Can anybody suggest something or explain this behavior?

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

Предыдущее
От: Kevin Grittner
Дата:
Сообщение: Re: Query performing very bad and sometimes good
Следующее
От: David G Johnston
Дата:
Сообщение: Re: two table join with order by on both tables attributes