"Jean-Christophe ARNU (JX)" <[EMAIL PROTECTED]> 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.


---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

Reply via email to