OPTIMIZER_TRACE是MySQL 5.6引入的一项跟踪功能,它可以跟踪优化器做出的各种决策(比如访问表的方法、各种开销计算、各种转换等),并将跟踪结果记录到 INFORMATION_SCHEMA.OPTIMIZER_TRACE 表中。此功能默认关闭,开启后,可分析如下语句:
•SELECT•INSERT•REPLACE•UPDATE•DELETE•EXPLAIN•SET•DECLARE•CASE•IF•RETURN•CALL
开启OPTIMIZER_TRACE功能
SET OPTIMIZER_TRACE=“enabled=on”,END_MARKERS_IN_JSON=on;
记录最近的30条SQL语句,展示时,每次展示30条数据
SET optimizer_trace_offset=-30, optimizer_trace_limit=30;
关闭trace中注释
set end_markers_in_json=“off”;
执行你的sql语句
select * from tableName
查看SQL 语句执行优化
select * from information_schema.optimizer_trace;
关闭OPTIMIZER_TRACE功能
SET OPTIMIZER_TRACE=“enabled=off”,END_MARKERS_IN_JSON=off;