Re: [SQL] indexing a datetime by date - Mailing list pgsql-hackers

From Andrew Merrill
Subject Re: [SQL] indexing a datetime by date
Date
Msg-id 37010913.4298B216@compclass.com
Whole thread Raw
In response to Re: [SQL] indexing a datetime by date  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Tom Lane wrote:

> In the meantime, a workaround is to call the function using its
> builtin name:
>
> play=> create table notes (when datetime);
> CREATE
> play=> create index when_ndx3 on notes (datetime_date(when) date_ops);
> CREATE

Thanks, that helps - I can now index a datetime field by date.But the index
doesn't appear to be used:

db=> create index ndx3 on notes (datetime_date(when) date_ops);
CREATE
db=> vacuum analyze notes;
VACUUM
db=> explain select when from notes where when::date = 'now'::date;
NOTICE:  QUERY PLAN:

Seq Scan on notes  (cost=4330.37 size=43839 width=8)

EXPLAIN

So it appears that the optimizer doesn't like this index.  (This is with
version 6.4.2.)
The table has about 90,000 rows, of which between 10 and 100 might match a
given date, so an index would really help.

Am I missing something simple here?  Thanks again for all your help.

Andrew Merrill



pgsql-hackers by date:

Previous
From: The Hermit Hacker
Date:
Subject: Should the following work...?
Next
From: "Jackson, DeJuan"
Date:
Subject: RE: [SQL] indexing a datetime by date