optimizer trace 是 MySQL5.6 添加的新功能,可以看到大量的内部查询计划产生的信息。
查看 MySQL 跟踪开关
1 | mysql> show variables like '%trace%'; |
使用步骤
只能跟踪自己session执行的,不能跟踪别人的1
2
3
4
5
6
7
8
9
10
11
12-- 开启跟踪
mysql> set optimizer_trace = "enabled=on";
-- mysql> set optimizer_trace_max_mem_size=1000000; --- 设置trace内存大小
-- mysql> set end_markers_in_json=on; --- 增加trace中注释
-- 执行 SQL 语句
mysql> select onick,fanscount from t_sinaweibouser where sex = 'm' order by fanscount desc limit 10;
-- 查看跟踪信息
mysql> select * from information_schema.optimizer_trace\G
-- 关闭跟踪
mysql> SET optimizer_trace="enabled=off";
optimizer_trace 表结构
1 | mysql> show create table information_schema.optimizer_trace; |
跟踪信息
不同 SQL 的跟踪信息均不一样,以下内容仅供参考
1 | { |