数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

MySQL数据库中查找执行效率慢的SQL语句[2]


发布日期:2018年04月04日
 
MySQL数据库中查找执行效率慢的SQL语句[2]

获得了对一个表的锁但是必须在表结构修改之后才能获得这个锁已经释放锁关闭数据表正尝试重新打开数据表

Repair by sorting

修复指令正在排序以创建索引

Repair with keycache

修复指令正在利用索引缓存一个一个地创建新索引它会比 Repair by sorting 慢些

Searching rows for update

正在讲符合条件的记录找出来以备更新它必须在 UPDATE 要修改相关的记录之前就完成了

Sleeping

正在等待客户端发送新请求

System lock

正在等待取得一个外部的系统锁如果当前没有运行多个 mysqld 服务器同时请求同一个表那么可以通过增加 skipexternallocking参数来禁止外部系统锁

Upgrading lock

INSERT DELAYED 正在尝试取得一个锁表以插入新记录

Updating

正在搜索匹配的记录并且修改它们

User Lock

正在等待 GET_LOCK()

Waiting for tables

该线程得到通知数据表结构已经被修改了需要重新打开数据表以取得新的结构然后为了能的重新打开数据表必须等到所有其他线程关闭这个表以下几种情况下会产生这个通知FLUSH TABLES tbl_name ALTER TABLE RENAME TABLE REPAIR TABLE ANALYZE TABLE 或 OPTIMIZE TABLE

waiting for handler insert

INSERT DELAYED 已经处理完了所有待处理的插入操作正在等待新的请求

大部分状态对应很快的操作只要有一个线程保持同一个状态好几秒钟那么可能是有问题发生了需要检查一下

还有其它的状态没在上面中列出来不过它们大部分只是在查看服务器是否有存在错误是才用得着

[] []

               

上一篇:MySQL数据库中查找执行效率慢的SQL语句[1]

下一篇:MySQL 5.0 数据库新特性的存储过程