Re: IN list processing performance (yet again) - Mailing list pgsql-performance

From Christopher Kings-Lynne
Subject Re: IN list processing performance (yet again)
Date
Msg-id 0b9a01c32585$2a8e6900$6500a8c0@fhp.internal
Whole thread Raw
In response to IN list processing performance (yet again)  (Dave Tenny <tenny@attbi.com>)
Responses Re: IN list processing performance (yet again)
List pgsql-performance

> Also, IN (subquery) is a known performance problem in PGSQL, at least if
the subquery is going to return > many rows.
> It's too bad, since I'm rather fond of subqueries, but I avoid them like
the plague in PostgreSQL.

You're not really using a subquery - really just a long list of integers.
Subqueries are lightning fast, so long as you conver to the EXISTS form:

SELECT * FROM tab WHERE id IN (SELECT id2 FROM tab2);

converts to:

SELECT * FROM tab WHERE EXISTS (SELECT id2 FROM tab2 WHERE id2=id);

Chris




pgsql-performance by date:

Previous
From: "Christopher Kings-Lynne"
Date:
Subject: Re: IN list processing performance (yet again)
Next
From: "Victor Yegorov"
Date:
Subject: Re: >24 hour restore