Re: Avoiding bad prepared-statement plans.
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Mark Mielke <mark@mark.mielke.cc>
Cc: Jeroen Vermeulen <jtv@xs4all.nl>, Alex Hunsaker <badalex@gmail.com>, Robert Haas <robertmhaas@gmail.com>, Greg Stark <gsstark@mit.edu>, Bart Samwel <bart@samwel.tk>, Pavel Stehule <pavel.stehule@gmail.com>, pgsql-hackers@postgresql.org
Date: 2010-02-26T18:59:22Z
Lists: pgsql-hackers
Mark Mielke <mark@mark.mielke.cc> writes: > Just to point out that I agree, and as per my original post, I think the > only time prepared statements should be re-planned for the statistics > case, is after 'analyze' has run. That sounds like a quicker solution, > and a much smaller gain. After 'analyze' of an object, invalidate all > cached plans for prepared statements that rely on that object and > require a re-plan. Please note that that has been happening since 8.3, which is probably why you haven't detected a problem. > ... It's walking around the problem > that the idea of a generic plan is just wrong. The only time a generic > plan is right, is when the specific plan would result in the same. I think that's a significant overstatement. There are a large number of cases where a custom plan isn't worth it, even if it doesn't generate exactly the same plan. regards, tom lane