MySQL查询状态
在一个查询周期中,MySQL任何时刻都有一个状态,该状态可能会变化很多次,可以使用show full processlist
来进行查看
- Sleep 线程正在等待客户端发送新的请求
- Query 线程正在执行查询或者正在将结果发送给客户端
- Locked 该线程正在等待表锁,行锁不会体现在线程状态中
- Analyzing and statistics 线程正在收集存储引擎的统计信息,并生成查询的执行计划
- Copying to tmp table [on disk] 线程正在执行查询,并且将其结果都复制到一个临时表中,该状态要么是Group by操作,要么是文件排序操作,或者是union操作,如果这个状态有on disk标记,表示MySQL正在将一个内存临时表放到磁盘上
- Sorting Result 线程正在对结果集进行排序
- Sending data 线程可能在多个状态之间传送数据,或者在生成结果集,或者在向客户端返回数据