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 线程可能在多个状态之间传送数据,或者在生成结果集,或者在向客户端返回数据