-
MySQL优化之show processlist命令详解
SHOW PROCESSLIST 显示哪些线程正在运行 不在mysql提示符下使用时用mysql -uroot -e 'show processlist' 或者mysqladmin processlist 如果您有root权限,您可以看到所有线程。否则,您只能看到登录的用户自己的线程,通常只会显示100条如果想看跟多的可以使用full修饰(show full processlist) 参数 id #ID标识,要kill一个语句的时候很有用 use #当前连接用户 host #显示这个连接从哪个ip的哪个端口上发出 db #数据库名 command #连接状态,一般是休眠(sleep),查询(query),连接(connect) time #连接持续时间,单位是秒 state #显示当前sql语句的状态 info #显示这个sql语句 其中state的状态十分关键,下表列出state主要状态和描述: 状态 描述 Checking table 正在检查数据表(这是自动的)。 Closing tables 正在将表中修改的数据刷新到磁盘中,同时正在关闭已经用完的表。这是一个很快的操作,如果不是这样的话,就应该确认磁盘空间是否已经满了或者磁盘是否正处于重负中。 Connect Out 复制从服务器正在连接主服务器。 Copying to tmp table on disk 由于临时结果集大于tmp_table_size,正在将临时表从内存存储转为磁盘存储以此节省内存。 Creating tmp table 正在创建临时表以存放部分查询结果。 deleting from main table 服务器正在执行多表删除中的第一部分,刚删除第一个表。 deleting from reference tables 服务器正在执行多表删除中的第二部分,正在删除其他表的记录。 Flushing tables 正在执行FLUSH TABLES,等待其他线程关闭数据表。 Killed 发送了一个kill请求给某线程,那么这个线程将会检查kill标志位,同时会放弃下一个kill请求。MySQL……
SE_Zhang 2024-04-1613 0 0