Re: Re-Reason of Slowness of Query

From: tv(at)fuzzy(dot)cz
To: "Adarsh Sharma" <adarsh(dot)sharma(at)orkash(dot)com>
Cc: "Vitalii Tymchyshyn" <tivv00(at)gmail(dot)com>, pgsql-performance(at)postgresql(dot)org
Subject: Re: Re-Reason of Slowness of Query
Date: 2011-03-23 10:38:23
Message-ID: c054efdf315e1df9376b2646077ef805.squirrel@sq.gransy.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

> 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.

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.

regards
Tomas

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Chetan Suttraway 2011-03-23 10:39:37 Re: Re-Reason of Slowness of Query
Previous Message Vitalii Tymchyshyn 2011-03-23 10:37:58 Re: Re-Reason of Slowness of Query