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

Posted 梦想橡皮擦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了show full processlist,MySQL 优化第7天学习相关的知识,希望对你有一定的参考价值。

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 tableSorting resultSending 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 tablesFLUSH TABLES,等待其他线程关闭数据表
  • Locked:查询有锁;
  • Sending data:正在执行 SELECT 查询,然后把结果发送给客户端;
  • Sorting for group:正在为分组排序;
  • Sorting for order:正在排序

show processlist 显示的查询结果来自 information_schema 中的 processlist 表,可以用下述查询代替:

select * from information_schema.processlist

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

记录时间

今天是持续写作的第 289 / 365 天。
可以关注我,点赞我、评论我、收藏我啦。

更多精彩


👇👇👇扫码加入【78技术人】~ Python 事业部👇👇👇

以上是关于show full processlist,MySQL 优化第7天学习的主要内容,如果未能解决你的问题,请参考以下文章

MySQL中 show processlist 和 show full processlist命令详解

MySQL中 show processlist 和 show full processlist命令详解

mysql慢SQL排查之show processlist和show full processlist

mysql show full processlist命令

MySQL命令show full processlist

Mysql 中 show full processlist