Thomas Hamilton <thomashamilton76(at)yahoo(dot)com> writes:
> 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 ALLSELECT b UNION ALL SELECT c ...)
> Why doesn't the optimizer automatically transform IN clauses to INNER JOINs in this fashion?
Did you read all the comments on that three-year-old article?
regards, tom lane