David Kerr wrote:
On Wed, Nov 04, 2009 at 07:43:16AM +0800, Craig Ringer wrote:
- David Kerr wrote:
- > Does/is it possible for the PG optimizer come up with differnet plans when
- > you're using bind variables vs when you send static values?
-
- Yes, if the bind variable form causes your DB access driver to use a
- server-side prepared statement. Pg can't use its statistics to improve
- its query planning if it doesn't have a value for a parameter when it's
- building the query plan.
hmm, that's a little unclear to me.
let's assume that the application is using prepare:
Assuming the database hasn't changed, would:
PREPARE bla1 as SELECT * from users where username = '$1';
explain execute bla1
give the same output as
explain select * from users where username = 'dave';
?
No.
This is explained in the notes here:
http://www.postgresql.org/docs/current/static/sql-prepare.html
--
Postgresql & php tutorials
http://www.designmagick.com/
--
Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance