Re: "Constraint exclusion" is not general enough
От | Rod Taylor |
---|---|
Тема | Re: "Constraint exclusion" is not general enough |
Дата | |
Msg-id | 1155003807.749.12.camel@home обсуждение исходный текст |
Ответ на | Re: "Constraint exclusion" is not general enough (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-hackers |
On Mon, 2006-08-07 at 22:01 -0400, Tom Lane wrote: > "Florian G. Pflug" <fgp@phlo.org> writes: > > Tom Lane wrote: > >> But you don't have any cost numbers until after you've done the plan. > > > Couldn't this work similar to geqo_effort? The planner could > > try planning the query using only cheap algorithmns, and if > > the cost exceeds a certain value, it'd restart, and use > > more sophisticated methods. > > AFAICS this would be a net loss on average. Most of the time, the > constraint exclusion code doesn't win, and so throwing away all your > planning work to try it is going to be a loser most of the time. If constraint exclusion does not make any changes, mark the plan as invalid, then there is no need to replan. 1. Generate plan cheaply 2. If under $threshold, execute query. The cost of further planning is significantcompared to executing this potentially non-optimal plan. 3. Run constraint exclusion. If it changes theclauses due to constraint exclusion, mark the plan as invalid. I assume constraint exclusion is relativelyself contained. 4. Invalid plan is replanned. Still valid plan (no potential improvements can be made)is executed. --
В списке pgsql-hackers по дате отправления: