Re: Avoiding bad prepared-statement plans.

From: Mark Mielke <mark(at)mark(dot)mielke(dot)cc>
To: Yeb Havinga <yebhavinga(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Robert Haas <robertmhaas(at)gmail(dot)com>, Jeroen Vermeulen <jtv(at)xs4all(dot)nl>, Alex Hunsaker <badalex(at)gmail(dot)com>, Greg Stark <gsstark(at)mit(dot)edu>, Bart Samwel <bart(at)samwel(dot)tk>, Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Avoiding bad prepared-statement plans.
Date: 2010-02-26 20:29:11
Message-ID: 4B882F17.8050909@mark.mielke.cc
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 02/26/2010 03:11 PM, Yeb Havinga wrote:
> Tom Lane wrote:
>> Right, but if the parameter is unknown then its distribution is also
>> unknown. In any case that's just nitpicking, because the solution is
>> to create a custom plan for the specific value supplied. Or are you
>> suggesting that we should create a way for users to say "here is the
>> expected distribution of this parameter", and then try to fold that into
>> the planner estimates?
> Or instead of letting users give the distribution, gather it
> automatically in some plan statistics catalog? I suspect in most
> applications queries stay the same for months and maybe years, so
> after some number of iterations it is possible to have decent call
> statistics / parameter distributions. Maybe the the parameter value
> distribution could even be annotated with actual cached plans.

The problem with the last - actual cached plans - is that it implies the
other aspect I have been suggesting: In order to have a custom cached
plan, the primary model must be to use custom plans. If PREPARE/EXECUTE
uses generic plans normally, than the only cached plans available will
be generic plans.

Cheers,
mark

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2010-02-26 20:30:01 Re: Hot Standby query cancellation and Streaming Replication integration
Previous Message Yeb Havinga 2010-02-26 20:28:01 C libpq frontend library fetchsize