答案 0 :(得分:1)
如果您至少拥有mysql v5.6.3,则可以使用mysql optimizer tracer。
基本用法:
SET optimizer_trace="enabled=on";
SELECT ...; # your query here
SELECT * FROM INFORMATION_SCHEMA.OPTIMIZER_TRACE;
# possibly more queries...
# When done with tracing, disable it:
SET optimizer_trace="enabled=off";
它可以跟踪following queries:
选择; INSERT或REPLACE(使用VALUES或SELECT); UPDATE / DELETE及其多表变体;所有以前的以EXPLAIN为前缀的; SET(除非它操纵optimizer_trace系统变量);做; DECLARE / CASE / IF / RETURN(存储例程语言元素);呼叫。如果其中一个陈述是在不同的步骤中准备和执行的,则单独跟踪准备和执行。
答案 1 :(得分:0)
尝试在存储过程中单独使用选择等语句的解释。