MySQL 中的 processlist 可以展示 MySQL 中有哪些线程在运行。
在 MySQL 中执行下述命令,得到的结果如下图所示:
show full processlist;
f0f9756265a54339b4d2aea172476743[1].png
上图中的各列名及其取值如下所示:
-
id:线程标志,系统分配的connection_id,可以使用select connection_id()查看,出问题也是用 kill + id 去杀线程,使用mysql > kill id;; -
User:显示当前用户,如果当前不是用root查询,这个命令只显示用户权限范围的sql语句; -
Host:该语句是来源,即从哪个IP和端口访问的; -
db:显示当前进程连接的数据库 -
Command:执行的命令类型,一般是休眠(sleep),查询(query),连接(connect); -
Time:SQL语句持续的时间,单位是秒; -
State:语句执行状态,有copying to tmp table,Sorting result,Sending data等状态; -
info:显示执行的 SQL 语句;
State 列的状态
-
Checking table:检查表; -
Closing tables:将表中修改的数据刷新(Flush)到磁盘中,同时关闭已经用完的表; -
Copying to tmp table on disk:内存存储转换为硬盘存储; -
Creating tmp table:创建临时表; -
deleting from main table:多表删除中的第一步; -
deleting from reference tables:多表删除中的第二步; -
Flushing tables:FLUSH TABLES,等待其他线程关闭数据表 -
Locked:查询有锁; -
Sending data:正在执行 SELECT 查询,然后把结果发送给客户端; -
Sorting for group:正在为分组排序; -
Sorting for order:正在排序
show processlist 显示的查询结果来自 information_schema 中的 processlist 表,可以用下述查询代替:
select * from information_schema.processlist
细节的内容可以通过 官方手册 查询学习。
记录时间
今天是持续写作的第 <font color=red>289</font> / 365 天。
可以<font color=#04a9f4>关注</font>我,<font color=#04a9f4>点赞</font>我、<font color=#04a9f4>评论</font>我、<font color=#04a9f4>收藏</font>我啦。
更多精彩





网友评论