On Mon, Jan 18, 2016 at 02:14:11PM -0500, Tom Lane wrote: > Bruce Momjian <br...@momjian.us> writes: > > I never understood why we don't just keep the selectivity estimates of > > previous plans and just reuse the plan if the selectivity estimates are > > similar. Isn't parameter selectivity the only thing that distinguishes > > on plan with parameter from another? > > > Checking selectivity estimates must be cheaper than replanning. This > > could be done at the second use of the prepared plan, and maybe for all > > plan reuses, rather than waiting for five and then perhaps getting this > > bad behavior. > > You're imagining that a selectivity recheck could be separated out from > the rest of the planner. That's nowhere near feasible, IMO. Even if it
I think you would have to do the checks before entering the planner and save them off for use in the planner. > were, what would we do with it? There's no reliable way to determine > whether X% change in one or another selectivity number would change the > selected plan, other than by redoing practically all of the planning work. Well, if it is +/-1%, I think we can assume we can reuse the plan just fine from the second prepared call until we see a major selectivity change. While we have never exposed the count of prepared queries before we choose a generic plan, I can see us exposing this percentage. -- Bruce Momjian <br...@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + As you are, so once was I. As I am, so you will be. + + Roman grave inscription + -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers