show full processlist,MySQL 优化第7天学习

网友投稿 870 2022-05-28

MySQL 中的 processlist 可以展示 MySQL 中有哪些线程在运行。

在 MySQL 中执行下述命令,得到的结果如下图所示:

show full processlist;

上图中的各列名及其取值如下所示:

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:检查表;

show full processlist,MySQL 优化第7天学习

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

细节的内容可以通过 官方手册 查询学习。

记录时间

今天是持续写作的第

289

/ 365 天。

可以

关注

我,

我、

评论

我、

我啦。

MySQL SQL

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Xilinx Spartan-6 FPGA开发板硬件说明书(2)
下一篇:gpg 密钥生成、导入、导出、自动输入密码
相关文章