On 3/30/09 2:34 PM, "dan@xxxxxxxxx" <dan@xxxxxxxxx> wrote: >> dan@xxxxxxxxx escribió: >> >>>> So what's the "?" in the query you pasted earlier? >>> >>> The first ? (for architecture) is 1, the second ? (for branchid) is 0. >>> They both should get passed to Postgres as $1 and $2, respectively, >>> assuming DBD::Pg does its substitution right. (They're both supposed to >>> go >>> in as placeholders) >> >> Right, so how about you reread what I wrote above? >> >> Oh, hmm, so to be more clear: I don't think DBD::Pg is actually sending >> EXECUTE PREPARE. You need to do this over psql. > > Fair enough. (And sorry about the mis-read) Next time this occurs I'll try > and duplicate this in psql. FWIW, a quick read of the C underlying the > DBD::Pg module shows it using PQexecPrepared, so I'm pretty sure it is > using prepared statements with placeholders, but double-checking seems > prudent. > > -Dan > Regardless, its always a good idea to do a manual explain analyze with and without parameterization in psql if prepared statements are involved. The query planner functions very differently with and without them, almost always with a performance detriment to query execution times when parameterized. -- Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance