Re: [HACKERS] EXISTS optimization

From: Kevin Grittner
Subject: Re: [HACKERS] EXISTS optimization
Date: ,
Msg-id: 46040EB2.EE98.0025.0@wicourts.gov
(view: Whole thread, Raw)
In response to: Re: [HACKERS] EXISTS optimization  (Martijn van Oosterhout)
Responses: Re: [HACKERS] EXISTS optimization  (Martijn van Oosterhout)
List: pgsql-performance

Tree view

EXISTS optimization  ("Kevin Grittner", )
 Re: [HACKERS] EXISTS optimization  (Tom Lane, )
  Re: [HACKERS] EXISTS optimization  ("Kevin Grittner", )
   Re: [HACKERS] EXISTS optimization  ("Kevin Grittner", )
   Re: [HACKERS] EXISTS optimization  (Tom Lane, )
  Re: [HACKERS] EXISTS optimization  (Martijn van Oosterhout, )
   Re: [HACKERS] EXISTS optimization  ("Kevin Grittner", )
    Re: [HACKERS] EXISTS optimization  (Martijn van Oosterhout, )
 Re: [HACKERS] EXISTS optimization  ("Kevin Grittner", )
  Re: [HACKERS] EXISTS optimization  ("Craig A. James", )

I don't understand -- TRUE OR UNKNOWN evaluates to TRUE, so why would the IN need to continue?  I'm not quite following
therest; could you elaborate or give an example?  (Sorry if I'm lagging behind the rest of the class here.) 

-Kevin


>>> Martijn van Oosterhout <> 03/23/07 5:26 PM >>>
On Fri, Mar 23, 2007 at 05:49:42PM -0400, Tom Lane wrote:
> We don't currently try to flatten EXISTS into a unique/join plan as we
> do for IN.  I seem to recall not doing so when I rewrote IN planning
> because I didn't think it would be exactly semantically equivalent,
> but that was awhile ago.  Right at the moment it seems like it ought
> to be equivalent as long as the comparison operators are strict.

Wasn't it due to the fact that IN needs to scan through all
possibilites anyway because of its interaction with NULL, whereas
EXISTS can stop at the first row?

That would mean the subquery to be materialised would not be equivalent
if it called any non-immutable functions. It's also much less clear to
be a win in the EXISTs case. But then, that's a costs issue the planner
can deal with...

Have a nice day,
--
Martijn van Oosterhout   <>   http://svana.org/kleptog/
> From each according to his ability. To each according to his ability to litigate.




pgsql-performance by date:

From: "Kevin Grittner"
Date:
Subject: Re: [HACKERS] EXISTS optimization
From: "amrit angsusingh"
Date:
Subject: Optimization postgresql 8.1.4 FC 6 X64 ?