On Tue, Jun 28, 2011 at 01:20:07AM +0200, Vladislav Vaintroub wrote:
-----Original Message----- From: maria-developers- bounces+wlad=montyprogram.com@lists.launchpad.net [mailto:maria- developers-bounces+wlad=montyprogram.com@lists.launchpad.net] On Behalf Of Sergey Petrunya Sent: Montag, 27. Juni 2011 15:28 To: maria-developers@lists.launchpad.net Subject: Re: [Maria-developers] Proposal to split @@optimizer_switch
On Fri, Jun 10, 2011 at 12:13:12PM +0400, Sergey Petrunya wrote:
Hello,
Please find below descriptions of problems with current @@optimizer_switch variable, as well as a proposal on how to fix it.
I would actually prefer more traditional underscore syntax, just for the sake of uniform parameter handling. Whether the dotted notation is better readable that underscore one, is mostly matter of individual taste. Besides, I would remove underscore from some already existing underscored keyword (this also eliminated differences between semijoin and outer_join for example). Stuff like indexconditionpushdown becomes unreadable, perhaps can be "icp", it is referred as ICP everywhere anyway, and there are other abbreviations already in place, like mrr and bka.
With this proposal , keywords would look like :
optimizer_indexmerge=on optimizer_indexmerge_union=on optimizer_indexmerge_sortunion=on optimizer_indexmerge_intersection=on optimizer_indexmerge_sortintersection=off optimizer_icp=on optimizer_joincache_bka=on optimizer_joincache_hashed=on optimizer_joincache_incremental=on optimizer_joincache_optimizebuffersize=on optimizer_joincache_outerjoin=off optimizer_joincache_semijoin=off optimizer_mrr=on optimizer_mrr_costbased=off optimizer_mrr_sortkeys=on optimizer_semijoin=on optimizer_semijoin_firstmatch=on optimizer_semijoin_loosescan=on optimizer_subquery_cache=on optimizer_subquery_intoexists=on optimizer_subquery_materialization=off optimizer_subquery_partialmatch_rowidmerge=on optimizer_subquery_partialmatch_tablescan=on optimizer_tableelimination=on
Ok. What syntax should be used to set all optimizer (or optimizer.join_cache) settings to their defaults? Lots of programming languages use xxx.yyy notation to denote access to member yyy of some composite entity xxx, so when one writes optimizer.join_cache.bka it hints that 'optimizer' is an entity that you could operate on as a whole. If we use optimizer_joincache_bka than personally for me it is not clear that 'optimizer' is an entity I could operate on. BR Sergey -- Sergey Petrunia, Software Developer Monty Program AB, http://askmonty.org Blog: http://s.petrunia.net/blog