From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Richard Huxton <dev(at)archonet(dot)com> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: SQL Functions and plan time |
Date: | 2003-07-08 15:33:34 |
Message-ID: | 24777.1057678414@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Richard Huxton <dev(at)archonet(dot)com> writes:
> So why am I getting substantially different times for identical queries
> (except for parameter substitution)
> [41] LOG: query: SELECT zzz2('2003-07-07 17:00:00+01','2003-07-07
> 17:20:00+01');
> [42-1] LOG: query:
> [42-2] DELETE FROM stats_telcon WHERE st_hour >= $1 AND st_hour < $2;
> ...
> [43] LOG: duration: 7.524765 sec
> [44] LOG: query: DELETE FROM stats_telcon WHERE st_hour>='2003-07-07
> 17:00:00+01' AND st_hour<'2003-07-07 17:20:00+01';
> [45] LOG: duration: 0.032860 sec
They're not the same query from the planner's viewpoint: one has
constants from which it can infer the number of rows to be fetched,
the other has only parameter symbols.
My guess is that the parameterized query is getting stuck with a seqscan
plan, but it's hard to be sure without more data.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Maksim Likharev | 2003-07-08 16:34:33 | Re: PG crash on simple query, story continues |
Previous Message | Stephan Szabo | 2003-07-08 15:12:02 | Re: Backwards index scan |