Claudio Freire <klaussfreire@gmail.com> writes: > On Wed, Mar 23, 2011 at 5:29 PM, Josh Berkus <josh@agliodbs.com> wrote: >> On 3/23/11 10:35 AM, Claudio Freire wrote: >>> * consider plan bailout: execute a tempting plan, if it takes too >>> long or its effective cost raises well above the expected cost, bail >>> to a safer plan
>> That would actually solve this particular case. It would still require >> us to have some definition of "safer" though.
> In my head, safer = better worst-case performance.
If the planner starts operating on the basis of worst case rather than expected-case performance, the complaints will be far more numerous than they are today.
This can se GUC-controllable. Like plan_safety=0..1 with low default value. This can influence costs of plans where cost changes dramatically with small table changes and/or statistics is uncertain. Also this can be used as direct "hint" for such dangerous queries by changing GUC for session/single query.