mysql 的慢日志对系统性能的影响和作用,并说明怎么去定位慢sql,并根据日志的相关特性得出相应的优化思路

慢日志带来的直接性能损耗就是数据库系统中最为昂贵的I/O资源。对于mysql 数据库来说,I/O 出现瓶颈,会导致

连接数增大、锁表、更有可能导致业务访问失败,尤其是在高并发下面。开启慢查询的目的是分析慢sql 来优化sql

语句,从而解决慢sql引起的各种问题。

1.开启慢查询日志功能很简单,在my.cnf 配置文件中,加入以下参数:

slow_query_log=1  #启用慢查询

slow_query_log_file=mysql.slow  #慢查询的存储位置

long_query_time=2  #指定慢查询的记录时间比如这里大于2s sql 会记录下来

2.当数据库的连接数很高时,此时注意,可通过监控软件观察时间点,然后把这一时间点的日志截取出来分析

sed -n '/#Time:130227 14:26:45/,/end/p' mysql.slow >slow.log

3.通过mysqldumpslow 命令取出耗时最长的前10条慢sql 进行分析

#mysqldumpslow -s t -t 10 slow.log