Re: SQL timestamp to date cast - Mailing list pgsql-sql

From Michael Fuhr
Subject Re: SQL timestamp to date cast
Date
Msg-id 20050120093331.GA37672@winnie.fuhr.org
Whole thread Raw
In response to SQL timestamp to date cast  ("Andrei Bintintan" <klodoma@ar-sd.net>)
List pgsql-sql
On Thu, Jan 20, 2005 at 10:52:50AM +0200, Andrei Bintintan wrote:

> SELECT DISTINCT(nummer)
> FROM user_action
> WHERE datetime::date='11/11/2004' AND id_action IN (5,6,9)
> 
> Now, datetime has the type timestamp. How can I make an index or write
> different this query so that it runs faster?

You could create an index on datetime and rewrite your queries:

CREATE INDEX user_action_datetime_idx ON user_action (datetime);

SELECT DISTINCT(nummer)
FROM user_action
WHERE datetime >= '11/11/2004' AND datetime < '11/12/2004' AND id_action IN (5,6,9);

Another possibility would be to create a functional index on datetime:

CREATE INDEX user_action_date_idx ON user_action (date(datetime));

SELECT DISTINCT(nummer)
FROM user_action
WHERE date(datetime) = '11/11/2004' AND id_action IN (5,6,9);

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


pgsql-sql by date:

Previous
From: "Andrei Bintintan"
Date:
Subject: SQL timestamp to date cast
Next
From: Silke Trissl
Date:
Subject: Problem on Geometric functions