admin管理员组

文章数量:814259

查询状态

查询状态

1.查询指令

​ 利用show full processlist 指令查看mysql当前所有的线程正在执行的状态(结果集中Command列表示当前状态)

2.字段解释

​ Id:相当于序列号

​ User: 显示当前线程的用户

​ host:显示这个语句是从哪个ip地址上发来的

​ db: 目前连接的数据库

​ Command: 当前线程的状态

​ Time: 持续的时间(s)

​ 3.线程状态

​ Command 所包含的状态大概为:Sleep,Query,Locked,Analyzing and statistics,Copying to tmp table[on disk],Sorting result,Sending data

​ a.Sleep:线程正在等待客户端发送新的请求

​ b.Query:线程正在执行查询或者正在将结果发送给客户端

​ c.Locked:在MySQL服务器层,该线程正在等待表锁.在存储引擎级别实现的锁,例如InnoDB的行锁,并不会体现再线程状态中.对于MyISAM来说这是一个比较典型的状态,但在其他没有行锁的引擎中,也经常会出现

​ d.Analyzing and statistics:线程正在收集存储引擎的统计星系,并生成查询的执行计划

​ e.Copying to tmp table [on disk]:线程正在执行查询,并且将其结果集都复制到一个零时表中,这种状态一般要么是在做GROUP BY操作,要么是文件排序操作,或者是UNION操作.如果这个状态后面还有"on disk"标记,那表示MySQL正在将一个内存零时表放到磁盘上.

​ f.Sorting result:线程正在对结果集进行排序

​ g.Sending data:这表示多种情况:线程可能再多个状态之间传送数据,或者再生成结果集,或者再向客户端返回数据

本文标签: 查询状态