MySQL优化(2020-04-22)
通过trace分析优化器如何选择执行计划
mysql 5.6提供了对sql跟踪trace,我们可以通过trace查看可以清楚的知道优化器执行过程,从而知道优化器的行为,可以帮助我们理解优化。
使用方式
// 首先得打开trace设置显示格式我json格式,以及设置trace最大的可以使用的大小,设置这个原因默认大小比较小,会显示不完整影响分析。
// 开启trace
set OPTIMIZER_TRACE="enable=on",END_MARKERS_IN_JSON=on;
// 设置最大的能够使用的内存的大小
set OPTMIZER_TRACE_MAC_MEM_SIZE=1000000;
// 执行一个sql
select * from tablename;
//接下来就可以查看trace
select * from INFORMATION_SCHEMA.OPTIMAZER_TRACE; // 在这里我们会得到一个分下的json
// 分析的json,可以看到了执行的sql完整的流程
.....