首页/数据/SQL 速查/SHOW FULL PROCESSLIST 定位运行中查询
本包目录(311 条)
查询基础33 条连接与子查询40 条聚合与窗口函数54 条函数速查60 条变更与事务52 条
性能与执行计划72 条

SHOW FULL PROCESSLIST 定位运行中查询

实时查看连接正在执行什么:结合 Time、State 与 Info 列找卡住的语句;输出只是当前时刻快照,需要多次观察。

SQL 速查数据更新于 2026-10-12

示例

示例
SHOW FULL PROCESSLIST;

-- 过滤运行时间较长的语句
SELECT id, user, time, state, LEFT(info, 100) AS query
FROM information_schema.processlist
WHERE command <> 'Sleep' AND time > 5
ORDER BY time DESC;

-- 终止语句或连接(先确认业务影响)
KILL QUERY 12345;   -- 只终止当前语句,保留连接
KILL 12345;         -- 断开整个连接
Time当前状态持续的秒数
StateSending data、Waiting for table metadata lock、Locked 等,指向瓶颈类别
Info正在执行的语句(需要相应权限)
快照特性单次查看可能错过瞬间状态,间隔多次执行或结合 performance_schema
Waiting for table metadata lock 常见于 DDL 被长事务挡住:先找到持有元数据锁的事务再处理。

易错点

  • 直接 KILL 长事务:大事务被杀后回滚同样耗时,先评估影响再操作
  • 把 Time 当成语句总耗时:连接空闲(Sleep)时它也在增长,按 Command 过滤后再看

数据来源与参考

  • MySQL 8.0 Reference Manual §13.7.8.5 SHOW PROCESSLIST
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌