Michael Fuhr <mike@fuhr.org> writes:
> I've noticed that if a client uses PQexecParams, the query plan
> appears to be identical to the plan chosen for PQprepare/PQexecPrepared,
> which might not be as optimal as a plan chosen for PQexec. I can
> understand the PQprepare case since the planner doesn't know what
> parameters will actually be used, but with PQexecParams shouldn't
> the planner have all the information it needs to choose a plan based
> on specific parameters? Is PQexecParams just shorthand for a prepare
> followed by an execute?
Yes, but it uses the unnamed statement, so in recent server versions you
should get a postponed plan that uses the Bind parameter values. What
test case are you looking at exactly?
regards, tom lane