Не используется индекс в запросе.

From: apm <korjavin(at)gmail(dot)com>
To: pgsql-ru-general(at)postgresql(dot)org
Subject: Не используется индекс в запросе.
Date: 2008-05-31 05:38:53
Message-ID: g1qo9f$jm8$1@ger.gmane.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-ru-general

Не пойму логики в простейшем случае.
Есть таблица
CREATE TABLE log
(
ip inet NOT NULL,
regdt timestamp NOT NULL DEFAULT now()
)

CREATE INDEX ix_log_ip
ON log
USING btree
(ip, regdt);

Делаю explain запроса
select count(*) from log
where ip='127.0.0.1' and regdt>cast (now() as timestamp);

Использует индекс ix_log_ip

но стоит изменить так
select count(*) from log
where ip='127.0.0.1'
and regdt>cast (now()-interval '1 day' as timestamp);

как получаю sec scan
тоже самое если использовать cast('20080101' as timestamp).

Как побороть?

Responses

Browse pgsql-ru-general by date

  From Date Subject
Next Message apm 2008-06-04 17:13:04 upper
Previous Message dvs 2008-05-29 06:14:19 cannot use result of (insert .. returning)