Re: Checking = with timestamp field is slow - Mailing list pgsql-performance

From Michael Fuhr
Subject Re: Checking = with timestamp field is slow
Date
Msg-id 20041105174534.GA685@winnie.fuhr.org
Whole thread Raw
In response to Re: Checking = with timestamp field is slow  (Christopher Browne <cbbrowne@acm.org>)
List pgsql-performance
On Fri, Nov 05, 2004 at 07:47:54AM -0500, Christopher Browne wrote:
>
> How about changing the criterion to:
>
>   where today between '2004-11-05' and '2004-11-06';
>
> That ought to make use of the index on "today".

Yes it should, but it'll also return records that have a "today"
value of '2004-11-06 00:00:00' since "x BETWEEN y AND z" is equivalent
to "x >= y AND x <= z".  Try this instead:

  WHERE today >= '2004-11-05' AND today < '2004-11-06'

In another post I suggested creating an index on DATE(today).  The
above query should make that unnecessary, although in 8.0 such an
index would be used in queries like this:

  WHERE today IN ('2004-09-01', '2004-10-01', '2004-11-01');

--
Michael Fuhr
http://www.fuhr.org/~mfuhr/

pgsql-performance by date:

Previous
From: Bruno Wolff III
Date:
Subject: Re: Strange (?) Index behavior?
Next
From: Allen Landsidel
Date:
Subject: Re: Strange (?) Index behavior?