| 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: | Whole Thread | Raw Message | 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 |