Re: Avoiding bad prepared-statement plans.

Mark Mielke <mark@mark.mielke.cc>

From: Mark Mielke <mark@mark.mielke.cc>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Robert Haas <robertmhaas@gmail.com>, Jeroen Vermeulen <jtv@xs4all.nl>, Alex Hunsaker <badalex@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-27T00:50:11Z
Lists: pgsql-hackers
On 02/26/2010 07:03 PM, Tom Lane wrote:
> Robert Haas<robertmhaas@gmail.com>  writes:
>    
>> Basically, what I really want here is some kind of keyword or other
>> syntax that I can stick into a PL/pgsql query that requests a replan
>> on every execution.
>>      
> Wouldn't it be better if it just did the right thing automatically?
>    

Yes please. :-) Often, we are just users of the application, and we do 
not have the freedom to change it.

> The sort of heuristic I'm envisioning would essentially do "replan every
> time" for some number of executions, and give up only if it noticed that
> it wasn't getting anything better than the generic plan.  So you'd have
> a fixed maximum overhead per session when the custom plan was useless,
> and the Right Thing when it wasn't.

My other comments aside - I think generic plan + specific plan where 
specific plan continues to beat generic plan, will meet the cases that 
really annoyed me, and would make a lot of us very happy... Thanks.

Cheers,
mark