我可以使用show processlist;
查看当前正在运行的进程。它为我提供了正在运行的查询的部分文本。
我想知道如何使用Id来查看此流程的查询计划。
mysql的“Explain”命令接受表名或完整查询,但它不接受正在运行的查询的id。
答案 0 :(得分:1)
MySQL 5.7具有新功能,可使用EXPLAIN FOR CONNECTION检查运行查询的执行计划。
<强> You can visit this article for more details. 强>
EXPLAIN [options] FOR CONNECTION connection_id;
答案 1 :(得分:0)
你必须写这样的函数。
select info into @query from information_schema.processlist where id=3206933;
SET @stmt = CONCAT('explain ', @query);
use `database`
PREPARE stmt FROM @stmt;
EXECUTE stmt;