MySQL优化总结
· Killed
有人已经向线程发送了一个KILL命令。在下一次检查终止标记时,应放弃。该标记在MySQL的每个大循环中都检查,但是在有些情况下,线程终止只需要较短的时间。如果该线程被其它线程锁定,则只要其它线程接触锁定,终止操作就会生效。
· Locked
该查询被其它查询锁定。
· Sending data
线程正在为SELECT语句处理行,同时正在向客户端发送数据。
· Sorting for group
线程正在进行分类,以满足GROUP BY要求。
· Sorting for order
线程正在进行分类,以满足ORDER BY要求。
· Opening tables
线程正在试图打开一个表。这应该是非常快的过程,除非打开操作受到阻止。例如,一个ALTER TABLE或一个LOCK TABLE语句可以阻止打开一个表,直到语句完成为止。
· Removing duplicates
查询正在使用SELECT DISTINCT。使用时,在早期阶段,MySQL不能优化不同的操作。因此,MySQL要求一个额外的阶段,以便在把结果发送给客户端之前取消所有的复制行。
· Reopen table
线程得到一个表锁定,但是在得到锁定后被通知带下方的表结构已更改了。它已经释放了锁定,关闭了表,并试图重新打开它。
· Repair by sorting
修复代码正在使用一个分类来创建索引。
· Repair with keycache
修复代码正在通过关键缓存一个接一个地使用创建关键字。这比通过分类修复要慢很多。
1
第1页:数据库设计第2页:适当建立索引/对表进行水平划分第3页:对表进行垂直划分第4页:字段类型/文件系统/外键/表的写入时机第5页:避免频繁读写/选择合适的引擎第6页:SQL语句优化工具:慢日志和mysqldumpslow.pl第7页:SQL语句优化工具:Explain(1)第8页:SQL语句优化工具:Explain(2)第9页:SQL语句优化工具:Explain(3)第10页:SQL语句优化工具:Explain(4)第11页:SQL语句优化工具:Explain(5)第12页:SQL语句优化工具:Explain(6)第13页:SQL语句优化工具:Explain(7)第14页:SQL语句优化工具:Explain(8)第15页:SQL语句优化工具:Explain(9)第16页:SQL语句优化工具:Show [full] processlist(1)第17页:SQL语句优化工具:Show [full] processlist(2)第18页:SQL语句优化工具:Show [full] processlist(3)第19页:减少不必要的表关联第20页:尽可能的限制条件第21页:过大的子查询用临时表处理效果会好的多第22页:Join Vs select 结果集作列第23页:全索引扫描第24页:Join、In、not in、exist、not exist并不是绝对的/Like第25页:数据库参数配置第26页:合理的硬件资源和操作系统/读写分离
相关文章