Hi everybody,
1 .... EXPLAIN SELECT COUNT(*) AS c FROM articletbl WHERE ((mydate BETWEEN '2004-04-24' AND '2004-05-24' ) )
2 .... EXPLAIN SELECT COUNT(*) AS c FROM articletbl WHERE ((mydate = '2004-04-24') )
(I ran VACUUM ANALYZE before running those)
mydate is an indexed date column. The optimizer optimizes the second query but, it doesn't optimize the first one and decides to make a "sequential scan". Is this a bug? Or may someone explain me the reason?
Thanks in advance.
Ismail Kizir
If 2004-04-24 to 2004-05-24 make up let's say 90% of your data PostgreSQL will find out that it is cheaper to use a seq scan instead of an index.
This is not a bug at all - this is normal and desired behaviour ...
Regards,
Hans
-- Cybertec Geschwinde u Schoenig Schoengrabern 134, A-2020 Hollabrunn, Austria Tel: +43/720/10 1234567 or +43/664/233 90 75 www.cybertec.at, www.postgresql.at, kernel.cybertec.at
---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match