> 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.