使用Mysql慢查询日志对有效率问题的SQL进行监控

Posted 豆芽的生长空间

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Mysql慢查询日志对有效率问题的SQL进行监控相关的知识,希望对你有一定的参考价值。

输入命令:show variables like \'slow%\' 

可以发现 slow_query_log 为 OFF(默认),表示未开启慢查询日志

                slow_query_log_file 为慢查询日志文件

 

开启慢查询日志有两种方法

方法一: 临时开启

       set global slow_query_log = on;

       #没有使用索引的sql将会被记录入慢查询日志

       set global log_queries_not_using_indexes = on;  

        #查询时间大于等于long_query_time (单位秒)的sql将会被记录入慢查询日志

       set global long_query_time = 1;  # 1 表示 大于等于1ssql记录在慢查询日志中,可以更改为毫秒甚至更少(修改之后,先关闭数据库连接,再重新连接后才能查看到修改

 

方法二:永久性开启     

  更改mysql配置文件my.ini(windows)[mysqld]后追加画红框中的参数:

     

 

    这里long_query_time = 0 表示所有的查询都记录到慢查询日志,只是为了检测配置是否生效,实际应用应该给一个合理的值。

    保存配置文件,记得重启apache

 

 慢查询日志开启后,被监控到的sql 都会写入 slow_query_log_file 中,格式如下:

 

 既然生成了慢查询日志,当然也有慢查询日志分析工具,比如:mysql自带的 mysqldumpslow ,这里就不多说了。

 

以上是关于使用Mysql慢查询日志对有效率问题的SQL进行监控的主要内容,如果未能解决你的问题,请参考以下文章

MySQL数据优化总结-查询备忘录

mysql慢查询日志开启和存储格式

mysql慢查询日志功能的使用

开启MYSQL慢查询日志,监控有效率问题的SQL

MySQL慢日志全解析

MySQL慢日志全解析