Re: IN list processing performance (yet again)

From: Dave Tenny <tenny(at)attbi(dot)com>
To: Mario Weilguni <mweilguni(at)sime(dot)com>
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: IN list processing performance (yet again)
Date: 2003-05-28 18:17:21
Message-ID: 3ED4FD31.5090804@attbi.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Mario Weilguni wrote:

>>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
>
>
Very interesting! I tried it out, but it didn't appreciably change the
thresholds in my results for going by for IN list
sizes 100 - 1000. It's also likely to be of use only if the range for
the between is fairly restricted,
which isn't necessarily characteristic of my data.

Dave

In response to

Browse pgsql-performance by date

  From Date Subject
Next Message Mario Weilguni 2003-05-28 18:29:43 Re: IN list processing performance (yet again)
Previous Message Andrew Sullivan 2003-05-28 18:14:03 Re: >24 hour restore