Skip site navigation (1) Skip section navigation (2)

Re: IN list processing performance (yet again)

From: Dave Tenny <tenny(at)attbi(dot)com>
To: Bruno Wolff III <bruno(at)wolff(dot)to>
Cc: Shridhar Daithankar <shridhar_daithankar(at)persistent(dot)co(dot)in>,pgsql-performance(at)postgresql(dot)org
Subject: Re: IN list processing performance (yet again)
Date: 2003-05-28 20:13:17
Message-ID: 3ED5185D.2000102@attbi.com (view raw or flat)
Thread:
Lists: pgsql-performance
Bruno Wolff III wrote:

>On Wed, May 28, 2003 at 13:58:14 -0400,
>  Dave Tenny <tenny(at)attbi(dot)com> wrote:
>  
>
>>A join isn't an option, these elements come a a selection of entity ID's 
>>that are specific to some client context.
>>Some other people suggested joins too. 
>>    
>>
>
>You can union the values together and then join (or use where exists) with the
>result. This may not be faster and you may not be able to union several
>thousand selects together in a single statement. But it shouldn't be too
>much work to test it out.
>  
>
I assume you mean something like:

test=# select million.id, million.val from million, (select 10000 as a 
union select 20000 as a) t2 where million.id = t2.a;
  id   |  val
-------+-------
 10000 |     0
 20000 | 10000
(2 rows)

Ouch!  That's deviant.   Haven't tried it yet and I cringe at the 
thought of it, but I might take a run at it.  However that's going to
run up the buffer space quickly.  That was one of my as yet unsnaswered 
questions, what is the pragmatic buffer size limit
for queries?

I'm /really/ hoping we'll come up with something better, like an 
understanding of why IN lists are non-linear in the first
place when the column is indexed, and whether it's fixable through some 
other means or whether it's a bug that should be fixed.

After all, I'm trying to support multiple databases, and other databases 
kick butt on this.  It's just postgresql that's
having difficulty.

(Btw, I've also tried statement batching, but that's a lose for now, at 
least with the current JDBC drivers and 7.3.2).

In response to

Responses

pgsql-performance by date

Next:From: Bruno Wolff IIIDate: 2003-05-28 20:24:18
Subject: Re: IN list processing performance (yet again)
Previous:From: Dave TennyDate: 2003-05-28 20:01:34
Subject: Re: IN list processing performance (yet again)

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group