首页/数据/数据库速查/PROCESSLIST 常见 State 含义速查
本包目录(495 条)

PROCESSLIST 常见 State 含义速查

连接卡在哪一步看 State:Sending data 多为扫描/回表,Waiting for lock 是锁等待,Creating sort index 在排序,copying to tmp table 常关联磁盘临时表。

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

常见 State 与含义

State含义与常见原因
Sending data执行中读取并发送结果集(非字面意义的网络发送),常伴随大量扫描
Sorting result / Creating sort index排序操作,使用 filesort;检查 ORDER BY 索引
Copying to tmp table生成临时表,内存不足会落磁盘(tmp_table_size / internal_tmp_mem_storage_engine)
Waiting for table metadata lock被 DDL 或长事务持有 MDL 阻塞,等待方往往表现为全表卡住
Waiting for row lock / lock wait行锁等待,找阻塞源用 sys.innodb_lock_waits
sleep空闲连接,连接池常态;数量异常升高说明池配置或泄漏

按 State 聚合看卡点分布

按 State 聚合看卡点分布
SELECT state, COUNT(*) AS n, MAX(time) AS max_wait
FROM information_schema.processlist
GROUP BY state
ORDER BY n DESC;
MySQL 8.0 的 performance_schema.events_waits_current 能给出更细的等待事件,比 State 文本更准。

易错点

  • Waiting for table metadata lock 的阻塞源头可能是空闲但开着事务的会话,光看 Time 列容易找错对象
  • copying to tmp table 长时间不结束多半是临时表落盘,先查 tmp_table_size 与磁盘 IO

数据来源与参考

  • MySQL 8.0 Reference Manual: Thread States

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌