前言:慢查询日志是MySQL提供的一种日志记录,它记录MySQL中响应时间超过阈值的语句,具体指运行时间超过long_query_time值的sql语句,该sql语句会被记录到慢查询日志中。慢查询日志主要与explain进行联合分析。html
默认状况下,MySQL数据库没有开启慢查询日志,须要咱们手动来设置这个参数。若是不是调优须要,通常不建议开启该参数,由于开启慢查询日志或多或少会带来必定的性能影响。mysql
#1.首先查看慢查询日志是否开启。sql
注:Value为OFF表示关闭,笔者已经将慢查询日志开启,因此Value显示为ON。数据库
#2.使用以下命令开启慢查询日志。工具
注:使用该命令开启慢查询只对当前数据库生效,MySQL重启失效,若是要配置长期有效,请在my.cnf中进行配置。性能
#1.查看慢查询的阈值时间,该值有long_query_time控制。默认状况下为10秒。spa
注:假如sql语句的运行时间正好等于long_query_time时,sql并不会被记录下来,所以判断慢查询是sql的执行时间大于long_query_time,而不是大于等于。3d
#2.设置long_query_time的值。日志
当设置long_query_time值后,查看其值并无变化,解决方式:htm
①关闭当前链接,从新开一个新的链接。
②使用以下命名。
#3.查看慢查询sql的数目。笔者已执行了两次select sleep(9)命令。
查看慢查询日志文件:
从文件中可看到两条select sleep(9)语句。
由于直接分析日志文件是个体力活,所以mysql为咱们提供了相关工具mysqldumpslow来对慢查询日志文件进行分析。
具体使用方式可用mysqldumpslow --help命令查看具体参数,或参考:http://www.cnblogs.com/moss_tan_jun/p/6603766.html
by Shawn Chen,2018.6.26日,下午。