Steven Schlansker <steven@xxxxxxxxxxxx> writes: > Why is using an OR so awful here? Because the OR stops it from being a join (it possibly needs to return some rows that are not in the semijoin of the two tables). > Why does it pick a sequential scan? Is this an optimizer bug No. It can't transform OR into a UNION because the results might not be the same. I assume you don't care about removal of duplicates, or have some reason to know that there won't be any ... but the planner doesn't know that. regards, tom lane -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general