Tuesday, July 29, 2008

Re: [GENERAL] Date index not used when selecting a date range

> You can prevent postgres from using the index on node by changing the reference in the WHERE clause to an expression, like so:
>
> SELECT * FROM public.stat WHERE node||'' = '1010101010' AND
> ("date" <= '2008-06-30'::date AND "date" >= '2008-01-01'::date);
>
> Perhaps this will lead the optimizer to choose the index on date. However, I have noticed reluctance in the postgres optimizer to use multi-column indexes, presumably because the increased size of the indexed values lowers expectations for performance of the index.
>
>
>
I think you are right about the multi-column usage.
When I use node||'' instead of node, it will do a seq scan.

Poul


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

No comments: