From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Oliver Jowett <oliver(at)opencloud(dot)com> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Delaying the planning of unnamed statements until Bind |
Date: | 2004-05-22 01:25:53 |
Message-ID: | 3464.1085189153@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Oliver Jowett <oliver(at)opencloud(dot)com> writes:
> This leads to my next problem (which was one of the original reasons I
> went with node replacement): don't we get different performance between
> a parameterized query and an equivalent unparameterized query in cases
> such as this? :
> SELECT * FROM sometable WHERE field = $1 * 10
I don't think the run-time performance would be materially different in
most cases. What might happen is that if the selectivity functions are
stupid, they would fail to reduce the comparison value to a constant and
thus not be able to arrive at a good selectivity estimate, thus leading
to a bad plan choice. However we need not put up with the selectivity
functions being that stupid. I think it would be reasonable to
constant-fold expressions involving known parameter values *within the
context of selfuncs.c only*. This would let us get good estimates
without giving up the usability of the plan for fresh parameter values.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Oliver Jowett | 2004-05-22 01:49:59 | Re: Delaying the planning of unnamed statements until Bind |
Previous Message | Oliver Jowett | 2004-05-22 01:06:59 | Re: Delaying the planning of unnamed statements until Bind |