慢查询日志相关的参数:
slow_query_log: 是否开启慢查询日志,1表示开启,0表示关闭
log_slow_queries: 5.6以下版本日志存储路径
slow_query_log_file: 5.5以上版本的日志存储路径文件。
long_query_time: 慢查询最小值,当查询时间多余这个值,就会记录到日志中
log_queries_not_useing_indexes: 未使用索引的查询也会被记录到日志中(可选项)
log_output: 日志存储的方式,log_output= ‘FILE’表示将日志存放在文件中,是默认值,为table的时候,表示存放在数据库表中,在mysql_slow_log表中,这个配置支持多个方式同时配置,多个方式用逗号隔开,例如: file,table.
mysql自带了一个查看慢日志的工具mysqldumpslow。
执行mysqldumpslow –h可以查看帮助信息。
主要介绍两个参数-s和-t
-s 这个是排序参数,可选的有:
al: 平均锁定时间
ar: 平均返回记录数
at: 平均查询时间
c: 计数
l: 锁定时间
r: 返回记录
t: 查询时间
-t n 显示头n条记录。
实例:
mysqldumpslow -s c -t 20 host-slow.log
mysqldumpslow -s r -t 20 host-slow.log
上述命令可以看出访问次数最多的20个sql语句和返回记录集最多的20个sql。
mysqldumpslow -t 10 -s t -g “left join” host-slow.log
这个是按照时间返回前10条里面含有左连接的sql语句。
用了这个工具就可以查询出来那些sql语句是性能的瓶颈,进行优化,比如加索引,该应用的实现方式等。

浙公网安备 33010602011771号