美文网首页
MySQL慢查询日志相关笔记

MySQL慢查询日志相关笔记

作者: wingedsnake | 来源:发表于2019-03-12 15:38 被阅读0次

    MySQL优化SQL,针对慢SQL语句的查询及相关配置。
    相关命令:

    #显示慢查询SQL语句数量
    show global status like '%slow_queries%';            
    #查看是否开启慢查询日志,并显示日志存放位置
    show variables like '%slow_query_log%';              
    #SQL运行时间超过MySQL变量long_query_time时则被记录为慢SQL(记录到日志中)。
    show global variables like '%long_query_time%';      
    

    需要永久开启慢SQL查询日志,需要在my.ini(或my.cnf等)配置文件中的[mysqld]下添加相关配置:

    #输出形式为文件
    log-output=FILE
     #1: 开启 | 0:不开启
    slow-query-log=0
    #慢SQL日志存放路径                                   
    slow_query_log_file="DESKTOP-HIOGK6K-slow.log" 
    #慢SQL语句统计时间(超过该阈值则记录中慢SQL日志中)     
    long_query_time=10                                  
    

    配置完毕后需要重启MySQL服务。

    MySQL还提供了日志分析工具:mysqldumpslow
    语法格式为:

    mysqldumpslow [OPTS...] [LOGS...]

    简单相关示例
    #得到返回记录集最多的15个SQL
    mysqldumpslow -s r -t 15 [要查询的日志文件路径]
    
    #得到访问次数最多的15个SQL
    mysqldumpslow -s c -t 15 [要查询的日志文件路径]
    
    #得到按照时间排序的前20条里面含有左连接的查询语句
    mysqldumpslow -s t -t 20 -g "left join" [要查询的日志文件路径]
    

    相关文章

      网友评论

          本文标题:MySQL慢查询日志相关笔记

          本文链接:https://www.haomeiwen.com/subject/bolnpqtx.html