In response to Vratislav Benes :
> but when I try make a condition by join table, the query plan is not optimal:
> 
> 
> select period_id from periods where y=2009 and w=14;
>  period_id
> -----------
>        704
> (1 row)
> 
> 
> explain select sum(s_pcs),sum(s_val)
> from data d inner join periods p on d.period_id=p.period_id
> where p.y=2009 and p.w=14;                                 

How about

select sum(s_pcs),sum(s_val)
from data d inner join periods p on d.period_id=p.period_id
where p.y=2009 and p.w=14
and p.period_id in (select period_id from periods where y=2009 and w=14);

Untested.


Andreas
-- 
Andreas Kretschmer
Kontakt:  Heynitz: 035242/47150,   D1: 0160/7141639 (mehr: -> Header)

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

Reply via email to