Re: Very large IN-clause is slow, but how to rewrite it? - Mailing list pgsql-sql

From Richard Jones
Subject Re: Very large IN-clause is slow, but how to rewrite it?
Date
Msg-id 20070225193905.GD16669@furbychan.cocan.org
Whole thread Raw
In response to Re: Very large IN-clause is slow, but how to rewrite it?  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-sql
On Sun, Feb 25, 2007 at 01:34:44PM -0500, Tom Lane wrote:
> Joe Conway <mail@joeconway.com> writes:
> > If 8.2, what about
> >    ... WHERE foo IN (select x from (values (1$),(2$),...,(N$)) as t(x))
> > ?
> 
> Well, the OP wasn't using 8.2 --- judging from the selected plan, it had
> to be 8.0 or older.  But yeah, a values-list is an interesting
> alternative on 8.2.  I think actually you don't need all that much extra
> notation; this seems to work:
> 
>     WHERE foo IN (VALUES ($1),($2),($3),...)

That's right, it is in fact PG 7.4.

I will try the values suggestion to see if that makes a difference.

Rich.


pgsql-sql by date:

Previous
From: Tom Lane
Date:
Subject: Re: Very large IN-clause is slow, but how to rewrite it?
Next
From: "Phillip Smith"
Date:
Subject: Re: Insert based in a select