From: | Jean-Christophe Boggio <cat(at)thefreecat(dot)org> |
---|---|
To: | pgsql-sql(at)postgresql(dot)org |
Subject: | Optimization with dates |
Date: | 2001-11-13 23:56:56 |
Message-ID: | 72319017913.20011114005656@thefreecat.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Hello,
I really have a problem dealing with dates :
I have a big table (~10M rows) like :
create table gains (
dategain timestamp,
otherfields
);
There's an index on dategain and I want to use it to get the last
30 days records :
explain select count(*) from gains where dategain>=now()-30;
Aggregate (cost=256546.78..256546.78 rows=1 width=0)
-> Seq Scan on gains (cost=0.00..250627.68 rows=2367640 width=0)
whereas :
explain select count(*) from gains where dategain>='now';
Aggregate (cost=27338.47..27338.47 rows=1 width=0)
-> Index Scan using ix_gains_dategain on gains (cost=0.00..27320.71 rows=7103 width=0)
I have tried :
where dategain>=(select now()-30);
where dategain+30>='now'
where date(dategain)>=date('now')-30
and many other, syntactically absurd :-)
Anyone can help me use this index ?
TIA,
--
Jean-Christophe Boggio
cat(at)thefreecat(dot)org -o)
Independant Consultant and Developer /\\
Delphi, Linux, Perl, PostgreSQL, Debian _\_V
From | Date | Subject | |
---|---|---|---|
Next Message | Stephan Szabo | 2001-11-14 00:17:06 | Re: Optimization with dates |
Previous Message | Marc Spitzer | 2001-11-13 22:27:37 | Re: how do I update or insert efficently in postgres |