zoukankan      html  css  js  c++  java
  • mysql 慢查询日志分析与使用

    mysql 慢查询日志分析与使用

    查询是否开启: SHOW VARIABLES LIKE '%slow_query_log%';

    开启:SET GLOBAL slow_query_log=1;  mysql重启后会失效,如果需要永久生效(生产环境不建议一直开启,会损耗性能。)可以修改my.cnf文件加入如下配置,然后重启mysql。

    slow_query_log=1

    slow_query_log_file=/usr/local/mysql/slog-sql.log

    那么开启了慢查询后,什么样的sql才会被记录到慢查询日志里面呢?

    这个是由参数long_query_time控制,默认情况下,long_query_time 的值为10秒。

    设置慢查询时间命令:SHOW VARIABLES LIKE '%long_query_time%';

    可以使用命令修改,也可以在my.cnf配置文件中修改,假如运行时间正好等于long_query_time 并不会被记录下来,在mysql的源码中是判断大于long_query_time的sql才会被记录下来。

    设置慢sql 的阈值时间:SET GLOBAL long_query_time=3;

    查询当前系统有多少慢sql: SHOW GLOBAL STATUS LIKE '%Slow_queries%';

    Mysql: 提供的日志分析工具:mysqldumpslow:

    常用日志分析命令:

    1: 得到返回记录集最多的10个sql:

    mysqldumpslow -s r -t 10  /usr/local/mysql/slow-sql.log

    2: 得到访问次数最多的10个慢sql:

    Mysqldumpslow -s c -t 10 /usr/local/mysql/slow-sql.log

    3:mysqldumpslow -s  t  -t  10 -g  “left join” /usr/local/mysql/slow-sql.log

    另外建议防止数量过多建议搭配 | more 使用:

    mysqldumpslow -s  t  -t  10 -g  “left join” /usr/local/mysql/slow-sql.log  | more

  • 相关阅读:
    全局变量和局部变量
    单例模式i
    高阶函数
    闭包和内存管理
    用python 写网络爬虫--零基础
    robots.txt 文件是什么? 如何获取
    Python: NLTK几个入门函数
    nltk book的下载
    nltk 环境安装( WINDOWS 7 32位 环境下)
    遇到问题
  • 原文地址:https://www.cnblogs.com/dw3306/p/13915741.html
Copyright © 2011-2022 走看看