Re: Query optimization problem - Mailing list pgsql-hackers

From Sam Mason
Subject Re: Query optimization problem
Date
Msg-id 20100721134047.GE7584@samason.me.uk
Whole thread Raw
In response to Query optimization problem  (Zotov <zotov@oe-it.ru>)
List pgsql-hackers
On Tue, Jul 20, 2010 at 09:57:06AM +0400, Zotov wrote:
>  SELECT d1.ID, d2.ID
>  FROM DocPrimary d1
>    JOIN DocPrimary d2 ON d2.BasedOn=d1.ID
>  WHERE (d1.ID=234409763) or (d2.ID=234409763)

You could try rewriting it to:
   SELECT d1.ID, d2.ID   FROM DocPrimary d1     JOIN DocPrimary d2 ON d2.BasedOn=d1.ID   WHERE d1.ID=234409763 UNION
SELECTd1.ID, d2.ID   FROM DocPrimary d1     JOIN DocPrimary d2 ON d2.BasedOn=d1.ID   WHERE d2.ID=234409763
 

This should have the same semantics as the original query.  I don't
believe PG knows how to do a rewrite like this at the moment.

--  Sam  http://samason.me.uk/


pgsql-hackers by date:

Previous
From: Pavel Stehule
Date:
Subject: Re: patch: to_string, to_array functions
Next
From: Yeb Havinga
Date:
Subject: Preliminary review of Synchronous Replication patches