Robert Haas wrote:
> One trick that some system use is avoid replanning as much as we do
> by, for example, saving plans in a shared cache and reusing them even
> in other sessions. That's hard to do in our architecture because the
> controlling GUCs can be different in every session and there's not
> even any explicit labeling of which GUCs control planner behavior. But
> if you had it, then extra planning cycles would be, perhaps, more
> tolerable.
From my experience with Oracle I would say that that is a can of worms.
Perhaps it really brings the performance benefits they claim, but
a) there have been a number of bugs where the wrong plan got used (you have to keep several plans for the same
statementaround, since - as you say - different sessions have different environments)
b) it is a frequent problem that this shared memory area grows too large if the application does not use prepared
statements but dynamic SQL with varying constants.
Yours,
Laurenz Albe
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers