慢查询是mysql中一个非常重要的日志了,我们可以通过mysql慢查询日志来分析具体导致mysql查询慢的原因与sql语子,下面就和小编来简单的学习一下.
慢查询为系统中查询时间超过long_query_time的值,分析慢查询是优化SQL的基础,默认清下Mysql慢查询为关闭状态,可以通过:
show variables where Variable_name = 'log_slow_queries';
来查看是否开启,如果为OFF则需要修改mysql配置文件,在mysqld下面增加以下参数.
- #慢查询日志地址,需要mysql运行帐号对该目录有写权限
- log-slow-queries="/log/slow.log"
- #当query语句大于2s时记录慢查询日志
- long_query_time=2
- #没有使用索引的query也计入慢查询日志(可根据情况增加)
- log-queries-not-using-indexes
慢查询分析
可以使用mysql自带的mysqldumpslow来进行分析,该命令可带3个参数.
-s,是表示按照何种方式排序,c、t、l、r分别是按照记录次数、时间、查询时间、返回的记录数来排序,ac、at、al、ar,表示相应的倒叙.
-t,是top n的意思,即为返回前面多少条的数据.
-g,后边可以写一个正则匹配模式,大小写不敏感的.
比如 按照时间返回前10条里面含有左连接的sql语句.
相关广告