index not always used when selecting on a date field

Поиск
Список
Период
Сортировка
От list-pgsql-general@news.cistron.nl ("Miquel van Smoorenburg" )
Тема index not always used when selecting on a date field
Дата
Msg-id cmm254$t5d$1@news.cistron.nl
обсуждение исходный текст
Ответы Re: index not always used when selecting on a date field  (Russell Smith <mr-russ@pws.com.au>)
Список pgsql-general
I have a database with a btree index on the 'removed' field,
which is of type 'date'. However it isn't being used:

techdb2=> explain select * from lines where removed > CURRENT_DATE;
                         QUERY PLAN
------------------------------------------------------------
 Seq Scan on lines  (cost=0.00..243.47 rows=2189 width=324)
   Filter: (removed > ('now'::text)::date)
(2 rows)

Now the weird thing is that if I select a range it is being used:

techdb2=> explain select * from lines where removed > CURRENT_DATE and removed < '9999-01-01';
                                     QUERY PLAN
------------------------------------------------------------------------------------
 Index Scan using lines_removed_idx on lines  (cost=0.00..120.56 rows=33 width=324)
   Index Cond: ((removed > ('now'::text)::date) AND (removed < '9999-01-01'::date))
(2 rows)

Why is this?

(Tested with both 7.3.2 and 7.4.6)

Mike.

В списке pgsql-general по дате отправления:

Предыдущее
От: Grant McLean
Дата:
Сообщение: Re: Visual Designer in linux?
Следующее
От: Ned Lilly
Дата:
Сообщение: Re: Report Generation