| From: | Richard Jones <rich(at)annexia(dot)org> |
|---|---|
| To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
| Cc: | Joe Conway <mail(at)joeconway(dot)com>, pgsql-sql(at)postgresql(dot)org |
| Subject: | Re: Very large IN-clause is slow, but how to rewrite it? |
| Date: | 2007-02-25 19:39:05 |
| Message-ID: | 20070225193905.GD16669@furbychan.cocan.org |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-sql |
On Sun, Feb 25, 2007 at 01:34:44PM -0500, Tom Lane wrote:
> Joe Conway <mail(at)joeconway(dot)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.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Phillip Smith | 2007-02-25 22:17:34 | Re: Insert based in a select |
| Previous Message | Tom Lane | 2007-02-25 18:34:44 | Re: Very large IN-clause is slow, but how to rewrite it? |