Re: IN list processing performance (yet again)

Поиск
Список
Период
Сортировка
От Mario Weilguni
Тема Re: IN list processing performance (yet again)
Дата
Msg-id 002401c32525$d92368e0$1e01c00a@icomedias.com
обсуждение исходный текст
Ответ на IN list processing performance (yet again)  (Dave Tenny <tenny@attbi.com>)
Ответы Re: IN list processing performance (yet again)  (Dave Tenny <tenny@attbi.com>)
Список pgsql-performance
>
> My application relies heavily on IN lists.  The lists are primarily
> constant integers, so queries look like:
>
> SELECT val FROM table WHERE id IN (43, 49, 1001, 100002, ...)
>
> Performance is critical, and the size of these lists depends a lot on
> how the larger 3-tier applicaiton is used,
> but it wouldn't be out of the question to retrieve 3000-10000 items.
>
> PostgreSQL 7.3.2 seems to have a lot of trouble with large lists.

you should rewrite your query if the query is created from an applition:

SELECT val
   FROM table
 WHERE id between 43 and 100002
       AND id IN (43, 49, 1001, 100002, ...)

where 43 is the min and 100002 the max of all values.

I had this case with postgresql 7.2 and the planner made much smarter
choices in my case.

Regards,
    Mario Weilguni



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

Предыдущее
От: Andreas Pflug
Дата:
Сообщение: Re: IN list processing performance (yet again)
Следующее
От: Stephan Szabo
Дата:
Сообщение: Re: IN list processing performance (yet again)