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 603c8f070912181622l2d74d0cdq94390eb1b1911729@mail.gmail.com
Whole thread Raw
In response to Re: Automatic optimization of IN clauses via INNER JOIN  (Grzegorz Jaśkiewicz <gryzman@gmail.com>)
Responses Re: Automatic optimization of IN clauses via INNER JOIN  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-performance
2009/12/18 Grzegorz Jaśkiewicz <gryzman@gmail.com>:
> 2009/12/18 Robert Haas <robertmhaas@gmail.com>:
>> 2009/12/18 Grzegorz Jaśkiewicz <gryzman@gmail.com>:
>>> On Fri, Dec 18, 2009 at 2:18 PM, Robert Haas <robertmhaas@gmail.com> wrote:
>>>
>>>> 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.
>>>
>>> in a well designed database (read: not abusing NULLs) - it can be done
>>> with joins too.
>>
>> But not by PostgreSQL, or so I believe.
>
> using left join ?

If at least one column in the subselect is strict, you can rewrite it
that way yourself, but the optimizer won't do it. I wish it did, but I
don't wish it badly enough to have written the code myself, and
apparently neither does anyone else.

...Robert

pgsql-performance by date:

Previous
From: Greg Stark
Date:
Subject: Re: Idea how to get rid of Bitmap Heap Scan
Next
From: Robert Haas
Date:
Subject: Re: Issues with \copy from file