Re: [PATCH] Equivalence Class Filters
От | Gavin Flower |
---|---|
Тема | Re: [PATCH] Equivalence Class Filters |
Дата | |
Msg-id | 5665DD84.7000902@archidevsys.co.nz обсуждение исходный текст |
Ответ на | Re: [PATCH] Equivalence Class Filters ("David G. Johnston" <david.g.johnston@gmail.com>) |
Ответы |
Re: [PATCH] Equivalence Class Filters
|
Список | pgsql-hackers |
On 08/12/15 05:27, David G. Johnston wrote: > On Mon, Dec 7, 2015 at 8:35 AM, Jim Nasby <Jim.Nasby@bluetreble.com > <mailto:Jim.Nasby@bluetreble.com>>wrote: > > On 12/6/15 10:38 AM, Tom Lane wrote: > > I said "in most cases". You can find example cases to support > almost any > weird planner optimization no matter how expensive and > single-purpose; > but that is the wrong way to think about it. What you have to > think about > is average cases, and in particular, not putting a drag on > planning time > in cases where no benefit ensues. We're not committing any > patches that > give one uncommon case an 1100X speedup by penalizing every > other query 10%, > or even 1%; especially not when there may be other ways to fix it. > > > This is a problem that seriously hurts Postgres in data > warehousing applications. We can't keep ignoring optimizations > that provide even as little as 10% execution improvements for 10x > worse planner performance, because in a warehouse it's next to > impossible for planning time to matter. > > Obviously it'd be great if there was a fast, easy way to figure > out whether a query would be expensive enough to go the whole 9 > yards on planning it but at this point I suspect a simple GUC > would be a big improvement. > > > Something like "enable_equivalencefilters" but that defaults to false > unlike every one existing "enable_*" GUC? > > It would be a lot more user-friendly to have something along the > lines of "planner_mode (text)" with labels like "star, transactional, > bulk_load, etc..." because I suspect there are other things we'd want > to add if we start identifying queries by their type/usage and > optimize accordingly. Having the knobs available is necessary but > putting on a façade would make the user more straight-forward for the > common cases. > > David J. > How about: planning_time_base 10 # Default effort, may be increased or decreased as required - must be at least 1 planning_time_XXXX 0 # By default, planner makes no (or minimal) effort to optimise for feature XXXX So for some people, adjusting planning_time_base may be sufficient - but for more specialised cases, people can tell the planner to consider expending more effort. Cheers, Gavin
В списке pgsql-hackers по дате отправления: