Ismail Kizir wrote:
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

Reply via email to