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

From Tom Lane
Subject Re: Very large IN-clause is slow, but how to rewrite it?
Date
Msg-id 9473.1172428484@sss.pgh.pa.us
Whole thread Raw
In response to Re: Very large IN-clause is slow, but how to rewrite it?  (Joe Conway <mail@joeconway.com>)
Responses Re: Very large IN-clause is slow, but how to rewrite it?  (Richard Jones <rich@annexia.org>)
List pgsql-sql
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),...)
        regards, tom lane


pgsql-sql by date:

Previous
From: Joe Conway
Date:
Subject: Re: Very large IN-clause is slow, but how to rewrite it?
Next
From: Richard Jones
Date:
Subject: Re: Very large IN-clause is slow, but how to rewrite it?