MySQL慢查询分析mysqldumpslow


一直以来积累了不少对MySQL优化的心得和经验,计划经过写日志的方式一步一步写出来分享给你们。html

MySQL优化的第一步应该作的就是排查问题,找出瓶颈,而一般状况下的瓶颈和问题都须要经过观察MySQL的运行状况来进行分析,《查看MySQL运行情况》这篇文章罗列了一些经常使用的查看MySQL运行信息的方式。mysql

而对于大多数的程序员来讲,最容易发现并解决的问题就是MySQL的慢查询或者没有利用索引的查询,因此这里主要给你们介绍如何利用官方的mysqldumpslow工具方便的查看这些信息。如何打开MySQL的慢查询,请点击《打开MySQL的慢查询记录》。程序员

mysqldumpslow命令
/path/mysqldumpslow -s c -t 10 /database/mysql/slow-logsql

这会输出记录次数最多的10条SQL语句,其中:工具

  • -s, 是表示按照何种方式排序,c、t、l、r分别是按照记录次数、时间、查询时间、返回的记录数来排序;优化

  • at、al、ar:                  spa

  •               al: average lock time日志

  •                 ar: average rows sentorm

  •                 at: average query timehtm

  • -t, 是top n的意思,即为返回前面多少条的数据;

  • -g, 后边能够写一个正则匹配模式,大小写不敏感的;

好比
/path/mysqldumpslow -s r -t 10 /database/mysql/slow-log
获得返回记录集最多的10个查询。
/path/mysqldumpslow -s t -t 10 -g “left join” /database/mysql/slow-log
获得按照时间排序的前10条里面含有左链接的查询语句。

小结

使用mysqldumpslow命令能够很是明确的获得各类咱们须要的查询语句,对MySQL查询语句的监控、分析、优化是MySQL优化的第一步,也是很是重要的一步。 

相关文章
相关标签/搜索