mysql Tracing the Optimizer
背景:
做为一个DBA,或者从事数据库相关工作的小伙伴,常见的工作就是优化sql,查看执行计划!但有时优化器给出的执行计划是错误或者不是最优的, 这时我们就要去追踪一下优化执行计划生成的过程。mysql 5.6提供了Tracing the Optimizer 功能这可是优化sql的一大神器
一,开启Tracing the Optimizer
set optimizer_trace_max_mem_size=300000;
set end_markers_in_json=true;
SET optimizer_trace="enabled=on";
二,生成sql 跟踪信息
explain select * from test.t1;
SELECT * FROM information_schema.optimizer_trace; --备注:这个视图就有我们想要信息,内容如下:
三,举例:
比如说sql 会因为Limit 不同的值,执行计划会不一样:
四,结总:
这里面的内容非常多,我在这只是抛砖引玉,大家可以自己去深入了角
==========================================================================
官网地址:https://dev.mysql.com/doc/internals/en/tracing-example.html
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341