On Thu, Dec 17, 2009 at 9:20 PM, Craig Ringer <craig@xxxxxxxxxxxxxxxxxxxxx> wrote: > On 17/12/2009 11:57 PM, Tom Lane wrote: >> >> Thomas Hamilton<thomashamilton76@xxxxxxxxx> 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 -- Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance