每个MySql连接,或者叫线程,在任意一个给定的时间都有一个状态来标识正在进行的事情。可以使用 SHOW [FULL] PROCESSLIST 命令来查看哪些线程正在运行,及其查询状态,Command列显示了状态。一些常见的状态如下:
- Sleep:线程正在等待客户端,以向它发送一个新语句
- Query:线程正在执行查询或往客户端发送数据
- Locked:该查询被其它查询锁定
- Copying to tmp table on disk:临时结果集合大于tmp_table_size。线程把临时表从存储器内部格式改变为磁盘模式,以节约存储器
- Sending data:线程正在为SELECT语句处理行,同时正在向客户端发送数据
- Sorting for group:线程正在进行分类,以满足GROUP BY要求
- Sorting for order:线程正在进行分类,以满足ORDER BY要求