Mysql show processlist中State的意义

show processlist:
这个命令 是显示当前所有连接的工作状态

可以用下面脚本查询

#!/bin/bash
while true
do
mysql -uroot -e 'show processlist\G'|grep State:|uniq -c|sort -rn
echo '---'
sleep 1
Done

如果观察到一下状态,则需要注意:

converting HEAP to MyISAM

查询结果太大,把结果放在磁盘(语句写的不好,取数据太多);

Copying to tmp table on disk

由于临时结果大于tmp_table_size。正在将临时表从内存存储转为磁盘存储以此节省内存。(索引不好,表字段选的不好)

Creating tmp table

正在创建临时表以存放部分查询结果(如group 时存储中间结果,说明索引建的不好)

locked

被其他查询锁住了(一般在使用事务时易发生,互联网应用不长发生)

logging slow query

记录慢查询

©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页