Re: Many left outer joins with limit performance

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Many left outer joins with limit performance
Дата
Msg-id 13700.1241194450@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Many left outer joins with limit performance  (Gerhard Wiesinger <lists@wiesinger.com>)
Ответы Re: Many left outer joins with limit performance
Список pgsql-performance
Gerhard Wiesinger <lists@wiesinger.com> writes:
> FROM
>    log l
> -- Order is relevant here
> LEFT OUTER JOIN key_description k1  ON k1.description = 'Raumsolltemperatur'
> LEFT OUTER JOIN log_details d1      ON l.id = d1.fk_id AND d1.fk_keyid = k1.keyid

Surely this query is just plain broken?  You're forming a cross product
of the relevant log lines with the k1 rows having description =
'Raumsolltemperatur' (I assume this isn't unique, else it's not clear
what the point is) and then the subsequent left join cannot get rid of
anything.  I think probably you meant something different, like

FROM
   log l
LEFT OUTER JOIN log_details d1      ON l.id = d1.fk_id
LEFT OUTER JOIN key_description k1  ON k1.description = 'Raumsolltemperatur' AND d1.fk_keyid = k1.keyid

            regards, tom lane

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

Предыдущее
От: James Nelson
Дата:
Сообщение: Re: bad plan and LIMIT
Следующее
От: Scott Carey
Дата:
Сообщение: Re: Transparent table partitioning in future version of PG?