From: | PFC <lists(at)peufeu(dot)com> |
---|---|
To: | "Dawid Kuroczko" <qnex42(at)gmail(dot)com> |
Cc: | "Christian Kratzer" <ck(at)cksoft(dot)de>, "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-performance(at)postgresql(dot)org, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: [HACKERS] Big IN() clauses etc : feature proposal |
Date: | 2006-05-09 16:49:22 |
Message-ID: | op.s9amckxhcigqcu@apollo13 |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers pgsql-performance |
>> > SELECT * FROM somewhere WHERE id IN (SELECT id FROM result)
> Well, you can either
> SELECT * FROM somewhere JOIN (SELECT id FROM result GROUP BY id) AS
> a USING (id);
It's the same thing (and postgres knows it)
> You might want to use PL to store values, say PLperl, or even C, say:
I tried.
The problem is that you need a set-returning function to retrieve the
values. SRFs don't have rowcount estimates, so the plans suck.
> Should work faster than a in-application solution :)
Should, but don't, because of what I said above...
With the version in CVS tip, supprting a fast =ANY( array ), this should
be doable, though.
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2006-05-09 19:04:57 | Re: Number of dimensions of an array parameter |
Previous Message | Dawid Kuroczko | 2006-05-09 16:43:23 | Re: [HACKERS] Big IN() clauses etc : feature proposal |
From | Date | Subject | |
---|---|---|---|
Next Message | Steve Atkins | 2006-05-09 17:52:45 | Re: Arguments Pro/Contra Software Raid |
Previous Message | Dawid Kuroczko | 2006-05-09 16:43:23 | Re: [HACKERS] Big IN() clauses etc : feature proposal |