From: | Steven Schlansker <steven(at)likeness(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-general(at)postgresql(dot)org, David Stryker <stryker(at)likeness(dot)com> |
Subject: | Re: Suboptimal query plan fixed by replacing OR with UNION |
Date: | 2012-07-05 23:16:43 |
Message-ID: | F1A0374B-5B7E-4E54-9B8A-197A451A486F@likeness.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Jul 5, 2012, at 3:51 PM, Tom Lane wrote:
> Steven Schlansker <steven(at)likeness(dot)com> 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.
>
Thanks for the insight here. It still seems unfortunate that it picks a
sequential scan -- but if there really is no more efficient way to do this,
I will just rewrite the query.
Steven
From | Date | Subject | |
---|---|---|---|
Next Message | Keith Fiske | 2012-07-06 00:07:03 | Issue with extension updates to pg_extension table |
Previous Message | James Hartley | 2012-07-05 23:03:52 | Re: Packt's PostgreSQL 9 Administration Cookbook: LITE Editions? |