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