Re: [HACKERS] Big IN() clauses etc : feature proposal

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.

In response to

Responses

Browse pgsql-hackers by date

  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

Browse pgsql-performance by date

  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