Re: Redundant sub query triggers slow nested loop left join

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Redundant sub query triggers slow nested loop left join
Дата
Msg-id 13922.1177199288@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Redundant sub query triggers slow nested loop left join  ("henk de wit" <henk53602@hotmail.com>)
Список pgsql-performance
"henk de wit" <henk53602@hotmail.com> writes:
> Naively I would say that a planner
> would have to be smart enough to see this by itself?

We got rid of direct tests for redundant WHERE clauses a long time ago
(in 7.4, according to some quick tests I just made).  They took a lot
of cycles and almost never accomplished anything.

Since you have two redundant tests, the selectivity is being
double-counted, leading to a too-small rows estimate and a not very
appropriate choice of join plan.

FWIW, CVS HEAD does get rid of the duplicate conditions for the common
case of mergejoinable equality operators --- but it's not explicitly
looking for duplicate conditions, rather this is falling out of a new
method for making transitive equality deductions.

            regards, tom lane

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

Предыдущее
От: "henk de wit"
Дата:
Сообщение: Redundant sub query triggers slow nested loop left join
Следующее
От: Colin McGuigan
Дата:
Сообщение: Re: Odd problem with planner choosing seq scan