Re: Timestamps and performances problems - Mailing list pgsql-admin

From Gaetano Mendola
Subject Re: Timestamps and performances problems
Date
Msg-id 004101c1e075$49103940$5ce8fea9@GMENDOLA2
Whole thread Raw
In response to Timestamps and performances problems  (Jean-Christophe ARNU (JX) <jc.arnu@free.fr>)
Responses Re: Timestamps and performances problems  ("Dan Langille" <dan@langille.org>)
List pgsql-admin
"Jean-Christophe ARNU (JX)" <jc.arnu@free.fr> wrote:
> Hello all.
>   I've a performance problem on specific requests :
>
>   When I use timestamps + interval in where clauses, query performance is
>  slowed down by a factor of 20 or 30!!!! For exemple :
>   select timestamp,value
>   from measure
>   where timestamp<now() and timestamp>(now() - '1 hour'::interval)
>
>   is 20 to 30 times longer than
>
>   select timestamp,value
>   from measure
>   where timestamp<'2002-04-10 10:00' and timestamp>='2002-04-10 9:00';
>
>   So where is the bottleneck?
>   A paradigm seems that now() and (now() - '1hour'::interval) is evaluated
for
>   each row comparison... Am I right? Thus is there a way to make SQL
>  interpreter evaluate this by rewriting them before launching any
comparisons?
>
>   Or do I have to rewrite all my application queries and calculate each
time
>   now() and interval predicates?

I have the same problem, but in my case I use this query in a view so I
can't store the value now()
in a variable temp, I hope that this problem have another solution.

May be I can create a function that return a data set and I do the select
inside
with a temp variable for store now() but I don't know if is just a
quick & dirty solution.

Ciao
Gaetano.


pgsql-admin by date:

Previous
From: Jean-Christophe ARNU (JX)
Date:
Subject: Timestamps and performances problems
Next
From: Raphael Bauduin
Date:
Subject: performance "tests"