Re: SQL Functions and plan time

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

In response to

Responses

Browse pgsql-general by date

  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