mysql优化器追踪分析


本篇内容主要讲解“mysql优化器追踪分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql优化器追踪分析”吧!开启optimizer_trace:set optimizer_trace=’enabled=on’;set optimizer_trace_max_mem_size=1000000;set end_markers_in_json=on;执行语句select * from information_schema.optimizer_traceG;以上优化器的主要步骤:1.join_preparation :准备阶段,包查询语句转换,转换成嵌套循环语句等 expanded_query transformations_to_nested_joins2.join_optimization :优化阶段,包括以下主要阶段 condition_processing :处理where条件部分,主要包括等式处理、常量处理、多余条件处理 table_dependencie开发云主机域名s :表依赖检查 ref_optimizer_key_uses :评估可用的索引 rows_estimation :评估访问单表的方式,及扫描的行数与代价 considered_execution_plans :评估最终可使用的执行计划 condition_on_constant_tables :检查带常量表的条件 attaching_conditions_to_tables :将常量条件作用到表 refine_plan 改进计划,不理解3.join_execution :执行阶段通过以上可以看错,当优化器一开始对优化器进行评估时就直接选择了全表扫描的方式,即是说此时优化器直接忽视了s表已有的索引IND_SHOP_DEPTID。我们将以下的d.DEPTID = ‘00001111’ 换成s.DEPTID = ‘00001111’,发现其可以选择了索引,此时s表看起来做了驱动表。追踪优化器过程:1.在ref_optimizer_key_uses 过程找到s表可以通过”‘00001111′”走索引,并且通过”Deptid”等值访问2.在rows_estimation过程中s表选择IND_SHOP_DEPTID的cost最低。3.在considered_execution_plans过程选择IND_SHOP_DEPTID的访问路径,并访问方式是ref。到此,相信大家对“mysql优化器追踪分析”有了更深的了解,不妨来实际操作一番吧!这里是开发云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

相关推荐: concat与group_concat函数使用流程

本文主要给大家介绍concat与group_concat函数使用流程,其所涉及的东西,从理论知识来获悉,有很多书籍、文献可供大家参考,从现实意义角度出发,开发云累计多年的实践经验可分享给大家。使用方法:concat(str1,str2,…) 返回的结果为连接参…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 06/26 17:26
下一篇 06/26 17:26

相关推荐