Re: Discussion on missing optimizations
Laurenz Albe <laurenz.albe@cybertec.at>
From: Laurenz Albe <laurenz.albe@cybertec.at>
To: Robert Haas <robertmhaas@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>
Cc: Andres Freund <andres@anarazel.de>, Adam Brusselback <adambrusselback@gmail.com>, Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2017-10-12T07:22:27Z
Lists: pgsql-hackers
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 statement around, 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
Commits
-
Reduce "X = X" to "X IS NOT NULL", if it's easy to do so.
- 8ec5429e2f42 11.0 landed