"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
