Re: Automatic optimization of IN clauses via INNER JOIN - Mailing list pgsql-performance

From Robert Haas
Subject Re: Automatic optimization of IN clauses via INNER JOIN
Date
Msg-id 603c8f070912180618y1063edc6x37ae870a24f99acd@mail.gmail.com
Whole thread Raw
In response to Re: Automatic optimization of IN clauses via INNER JOIN  (Craig Ringer <craig@postnewspapers.com.au>)
Responses Re: Automatic optimization of IN clauses via INNER JOIN
List pgsql-performance
On Thu, Dec 17, 2009 at 9:20 PM, Craig Ringer
<craig@postnewspapers.com.au> wrote:
> On 17/12/2009 11:57 PM, Tom Lane wrote:
>>
>> Thomas Hamilton<thomashamilton76@yahoo.com>  writes:
>>>
>>> But in our testing under the same optimization and conditions INNER JOIN
>>> is significantly outperforming IN.
>>
>> [ shrug... ]  You haven't provided any details, so it's impossible to
>> offer any useful advice.
>
> In other words: can we discuss this with reference to a specific case?
> Please provide your queries, your EXPLAIN ANALYZE output, and other relevant
> details as per:
>
>  http://wiki.postgresql.org/wiki/SlowQueryQuestions
>
> I'd be interested in knowing whether the planner can perform such
> transformations and if so why it doesn't myself. I have the vague feeling
> there may be semantic differences in the handling of NULL but I can't
> currently seem to puzzle them out.

NOT IN is the only that really kills you as far as optimization is
concerned.  IN can be transformed to a join.  NOT IN forces a NOT
(subplan)-type plan, which bites - hard.

...Robert

pgsql-performance by date:

Previous
From: Sigurgeir Gunnarsson
Date:
Subject: Re: Issues with \copy from file
Next
From: Grzegorz Jaśkiewicz
Date:
Subject: Re: Automatic optimization of IN clauses via INNER JOIN