Re: Suggestions wanted for 7.2.4 query

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Suggestions wanted for 7.2.4 query
Дата
Msg-id 25878.1052023320@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Suggestions wanted for 7.2.4 query  (Josh Berkus <josh@agliodbs.com>)
Ответы Re: Suggestions wanted for 7.2.4 query  (Josh Berkus <josh@agliodbs.com>)
Список pgsql-performance
Josh Berkus <josh@agliodbs.com> writes:
> SELECT sv_events.*, FALSE AS fuzzy_team FROM sv_events WHERE  EXISTS ( SELECT
> event_id FROM event_days
>  WHERE event_days.event_id = sv_events.event_id AND  (event_day BETWEEN
> ('2003-04-08'::TIMESTAMP WITHOUT TIME ZONE)
>   AND ('2003-06-17 23:59'::TIMESTAMP WITHOUT TIME ZONE) ) );

Is event_days.event_id unique?  If so, try

SELECT sv_events.*, FALSE AS fuzzy_team FROM sv_events, event_days
WHERE
event_days.event_id = sv_events.event_id AND
  (event_days.event_day BETWEEN
('2003-04-08'::TIMESTAMP WITHOUT TIME ZONE)
  AND ('2003-06-17 23:59'::TIMESTAMP WITHOUT TIME ZONE) );

This at least gives you some glimmer of a chance that the restriction on
event_day can be used to avoid computing the entire join represented by
sv_events.  With the exists() form, there's no chance...

            regards, tom lane


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

Предыдущее
От: Christopher Kings-Lynne
Дата:
Сообщение: Re: NOT IN doesn't use index? (fwd)
Следующее
От: Josh Berkus
Дата:
Сообщение: Re: Suggestions wanted for 7.2.4 query