show processlist
概念:
- show processlist命令可以查看当前MySQL实例的连接情况,
- 用于观察是否有大量的连接处于非正常状态。用法非常简单,直接使用就行
用法
show processlist
字段的含义
字段 | 解释 |
---|---|
id | 连接标识符 |
User | 当前用户 |
Host | 操作的主机,指客户端 |
db | 默认数据库(如果已选择);否则为NULL |
Command | 线程正在执行的命令类型 |
Time | 线程处于其当前状态的持续时间(以秒为单位) |
Size | 指示线程正在执行的操作,事件或状态 |
Info | 线程正在执行的语句,如果未执行任何语句,则为NULL。 该语句可能是发送到服务器的那条语句,或者是最内部的语句(如果该语句执行其他语句,比如存储过程中的select语句) |
Command字段,对应的状态
sleep:正在等待客户端发送新的请求
query:正在执行查询或者正在将结果发送给客户端
locked:在MySQL服务层,线程正在等待表锁
analyzing and statistics:线程正在收集存储引擎的统计信息,并生成查询的执行计划
copying to tmp table:线程正在执行查询,并且将其结果集都复制到一个临时表中
sorting result:正在对结果集进行排序
sending data:线程可能在多个状态之间传送数据,或者在生成结果集或者向客户端返回数据
show full processlist
- show processlist命令默认Info字段最多显示每条语句的前100个字符,如果想完全显示,可以使用show full processlist