Apparently the latest version of MySQL has solved this problem: http://www.xaprb.com/blog/2006/06/28/why-large-in-clauses-are-problematic/
But I am running PostgreSQL v8.3 and am observing generally that SELECT ... WHERE ... IN (a, b, c, ...) is much slower than SELECT ... INNER JOIN (SELECT a UNION ALL SELECT b UNION ALL SELECT c ...)
Why doesn't the optimizer automatically transform IN clauses to INNER JOINs in this fashion?
pgsql-performance by date
|Next:||From: Tom Lane||Date: 2009-12-17 15:32:53|
|Subject: Re: Automatic optimization of IN clauses via INNER JOIN |
|Previous:||From: Pavel Stehule||Date: 2009-12-16 08:38:22|
|Subject: Re: Parallel Function calls using multiple processes|