Re: sub-query optimization - Mailing list pgsql-sql

From Tomasz Myrta
Subject Re: sub-query optimization
Date
Msg-id 20030214202445.M57741@klaster.net
Whole thread Raw
In response to sub-query optimization  (Brad Hilton <bhilton@vpop.net>)
List pgsql-sql
> Hello,
> 
> I am hoping someone can help explain why modifying the following 
> query can effect such a huge change in speed.  The query is:
> 
>       select * from articles
>       where exists
>        ( select 1 from article_categories
>          where
>          article_categories.article_id = articles.id and
>          article_categories.category_id is null
>        )
> 

Can you test these two queries?select * from (select article_id from article_categories where category_id is null
groupby article_id) X   join articles using (article_id);
 
 select <fields> from  article_categories  join articles using (article_id) where category_id is null  group by
<fields>
Above queries will need index on article_idI'm not sure if it helps, but they are the only solutions in mymind ;-)
Can you say anything about data statistics in your tables? Howmany rows are with category_id=null?
I looked into query definition once again. Your query doesn't makesense - article_categories have not null
category_id...What do you reallywant to do?
 

Regards,
Tomasz Myrta



pgsql-sql by date:

Previous
From: greg@turnstep.com
Date:
Subject: Re: Drop temporary table only if it exists
Next
From: Brad Hilton
Date:
Subject: Re: sub-query optimization