MySQL~「show PROCESSLIST」

SHOW PROCESSLIST命令可以查看当前MySQL Server上运行的线程。

SHOW STATUS命令不同,SHOW PROCESSLIST命令是有权限分别的。有PROCESS 权限的用户,可以看到所有线程状态,否则,只能看到当前用户所创建的线程状态。

完整的语法结构如下所示

SHOW [FULL] PROCESSLIST
要注意加不加FULL的区别,不加FULL并不是只获取前100行,而是显示INFO字段的前100个字符,而INFO字段的内容就是该线程正在执行的Statement(包括但不限于SQL语句)。

在阿里云的RDS上,加不加FULL关键字,得到的结果还有一个明显的差别,就是加了FULL关键字后,会多出若干列,比如Memory_used,Logical_read等资源消耗指标。

8个字段解释

  1. Id,线程标识(ID)。

  2. User,打开线程的用户,或者是线程的Owner。

  3. Host,客户端连接地址,表示的是连接MySQL Server的客户端上的TCP套接字。

  4. db,线程所连接的数据库名称。

  5. Command,表示线程正在执行的命令,可能的值多达30多种,下面列举几个命令作为重点了解:

命令 描述
Binlog Dump 在MySQL主从结构中,此命令表示Master节点正在发送binlog给Slave节点,实际上是一个数据同步的过程。
Connect/Connect Out 前者是Slave节点已经连接上了对应的Master节点,后者则表示正在连接中的状态。
Close stmt 相当于是statement.close(),意思是关闭一个statement句柄
Execute 正在执行statement预编译。前期的预编译是对SQL语法的检查,形成MySQL内部可执行的形式,能提高后续SQL语句的执行效率。
Fetch/Long Data 都是获取Execute的结果,但是后者是专门针对一大串数据获取的状态。
Query 真正是在执行statement。
Create DB/Drop DB 正在执行create database/drop database操作。
Shutdown 该线程正要关闭MySQL Server。
Sleep 等待客户端发送新的statement过来,大部分线程是处于此状态的。将Time结合起来,可以发现一个线程空闲了多长时间。
  1. State,表示Statement执行中的某一个瞬时状态。状态的切换都是非常迅速的,如果长期停滞在某个状态,则极有可能存在问题。MySQL对线程的状态管理非常细致,多达70多种,下面列举几种状态作为重点了解:
状态 描述
creating table/altering table/Checking table/Opening tables/closing tables 这一组是有关于表操作的,涉及了表的创建,修改,检查,开启和关闭。
Killed 线程接收到了kill命令,当下个轮回检查kill标识位的时候,该线程将会被终止。如果线程是在被锁住的过程中接收到了kill命令,那么一旦锁被释放了,线程就立马被终止了。
executing 线程正在执行Statement。
logging slow query 正在记录一个慢查询语句。
NULL 只有SHOW PROCESSLIST命令才能出现的状态。
optimizing 准备要进入查询语句的优化阶段了。
preparing 正处于查询语句的优化阶段。
Reading from net MySQL Server正在读取网络报文。
Writing to net MySQL Server正在写入网络报文。
removing tmp table 正在移除SELECT语句产生的内部临时表,通常是在JOIN的时候产生的中间表。
Rolling back 正在进行事务回滚。
Sending data 把SELECT语句的执行结果发送给客户端,这个状态存在的时间是最长的,因为涉及到了磁盘的读取访问。因此,缩短这个状态持续的时间是非常必要的,比如,尽量少产生临时表,避免filesort等。
Sorting for group 正在为GROUP BY做排序。
Sorting for order 正在为ORDER BY做排序。
update/Updating 前者表示准备要进行更新操作了,后者表示寻找要更新的记录,进而更新之。
Waiting for tables 数据表结构一旦发生了变化,线程会接受到通知,需要重新获取最新的数据结构,也就会触发重新打开表(reopen table)的操作。但是这个操作可能不会立马得到执行,因为其他线程执行的某些操作会将表锁住,这个状态就表示正在等待锁释放,以重新获取数据表结构。
Waiting for xxxx lock 等待获取锁,xxxx 表示锁的类型。
  1. Time,在该state状态下所持续的时间。

  2. Info,线程当前所执行的Statement,NULL表示未执行任何语句。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341

推荐阅读更多精彩内容