> 数据库 > MySQL >

MySQL优化 - 开启MySQL慢查询日志及分析工具mysqldumpslow

1.  启用MySQL的慢查询日志很简单,只需在MySQL的配置文件my.cnf里添加: 
[mysqld]
slow_query_log=1  - 开启慢查询日志 
slow_query_log_file=/data01/mysqldata/3306/slow_query.log-- 慢查询日志存放位置,因需要可写,一般是数据存放目录
long_query_time=10  单位秒, 默认为10,表示超过10秒的才记录 

slow_launch_time=2 - 表示如果建立线程花费了比这个值更长的时间,slow_launch_threads 计数器将增加
log_queries_not_using_indexes=OFF  -- 设置为ON表示记录没有使用index的查询,默认没有开启 

备注: 通过 show global status like '%slow%'; 来查看 slow_launch_threads 计数器。

2.  设置时间:
mysql > set long_query_time=5 ; 
 mysql > show variables like 'long%'; 

3.  慢查询日志分析工具mysqldumpslow 。 
如果慢查询日志中记录内容很多,可以使用mysqldumpslow工具(MySQL客户端安装自带)来对慢查询日志进行分类汇总。mysqldumpslow对日志文件进行了分类汇总,显示汇总后摘要结果。

$ mysqldumpslow -s t -t 10 -g "left join"  /data01/mysqldata/3306/slow_query.log
得到按照时间排序的前10条里面含有左连接的查询语句。

使用mysqldumpslow命令可以非常明确的得到各种我们需要的查询语句,对MySQL查询语句的监控、分析、优化是MySQL优化非常重要的一步。开启慢查询日志后,由于日志记录操作,在一定程度上会占用CPU资源影响mysql的性能,但是可以阶段性开启来定位性能瓶颈。




(责任编辑:IT)