Re: Re-Reason of Slowness of Query - Mailing list pgsql-performance

From Chetan Suttraway
Subject Re: Re-Reason of Slowness of Query
Date
Msg-id AANLkTinQTQ+g=fOokh6i7ZqBLoTSVpX_Mfy-7Lo8ndX4@mail.gmail.com
Whole thread Raw
In response to Re: Re-Reason of Slowness of Query  (tv@fuzzy.cz)
Responses Re: Re-Reason of Slowness of Query
List pgsql-performance


On Wed, Mar 23, 2011 at 4:08 PM, <tv@fuzzy.cz> wrote:
> I just want to retrieve that id 's from page_content which do not have
> any entry in clause2 table.

In that case the query probably does not work (at least the query you've
sent in the first post) as it will return even those IDs that have at
least one other row in 'clause2' (not matching the != condition). At least
that's how I understand it.

true.
 
So instead of this

select distinct(p.crawled_page_id)
from page_content p, clause2 c where p.crawled_page_id != c.source_id ;

you should probably do this

select distinct(p.crawled_page_id)
from page_content p left join clause2 c on (p.crawled_page_id =
c.source_id) where (c.source_id is null);

I guess this will be much more efficient too.


This looks like to give expected results. Also note that the where clause "is null" is really required and is not an
optional predicate.

 
regards
Tomas


--
Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance



--
Regards,
Chetan Suttraway
EnterpriseDB, The Enterprise PostgreSQL company.



pgsql-performance by date:

Previous
From: Chetan Suttraway
Date:
Subject: Re: Re-Reason of Slowness of Query
Next
From: Adarsh Sharma
Date:
Subject: Re: Re-Reason of Slowness of Query