使用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 ,这里就不多说了。

原文地址:https://www.cnblogs.com/bean-sprout/p/7569874.html