zoukankan      html  css  js  c++  java
  • MySQL日志:slow query log

    ySQL的慢查询日志可以用来找出执行时间过长的查询语句,并进行针对性的优化。
     
    一、slow log相关参数
    以下参数都是动态参数,可以在实例运行时修改。
    slow_query_log=1       #是否启用慢查询日志,1为启用,0为禁用
    slow_query_log_file=slow.log       #指定慢查询日志文件的路径和名字,可使用绝对路径指定;默认值是'主机名_slow.log',位于datadir目录
    long_query_time=2     #SQL语句运行时间阈值,执行时间大于参数值的语句才会被记录下来
    min_examined_row_limit=100     #SQL语句检测的记录数少于设定值的语句不会被记录到慢查询日志,即使这个语句执行时间超过了long_query_time的阈值
    log_queries_not_using_indexes=1   #将没有使用索引的语句记录到慢查询日志
    log_throttle_queries_not_using_indexes=10     #设定每分钟记录到日志的未使用索引的语句数目,超过这个数目后只记录语句数量和花费的总时间
    log-slow-admin-statements=1    #记录执行缓慢的管理SQL,如alter table,analyze table, check table, create index, drop index, optimize table, repair table等。
    log_slow_slave_statements=0    #记录从库上执行的慢查询语句
    log_timestamps=system     #5.7版本新增时间戳所属时区参数,默认记录UTC时区的时间戳到慢查询日志,应修改为记录系统时区
    log_output=FILE,TABLE     #指定慢查询日志的输出方式,从5.5版本开始可以记录到日志文件(FILE,慢查询日志)和数据库表(TABLE,mysql.slow_log)中
     
    二、使用MySQL slow log
    1. 在线修改数据库相关参数:
    1.  
      mysql> set global slow_query_log=1;
    2.  
      mysql> set global slow_query_log_file='my57-slow.log';
    3.  
      mysql> set global long_query_time=2;
    4.  
      mysql> set global min_examined_row_limit=50;
    5.  
      mysql> set global log_queries_not_using_indexes=1;
    6.  
      mysql> set global log_throttle_queries_not_using_indexes=10;
    7.  
      mysql> set global log_slow_admin_statements=1;
  • 相关阅读:
    认知实习(杭钢、杭州中萃)
    Head of a Gang (map+邻接表+DFS)
    Sharing
    Hello World for U (20)
    计算器(delphi)
    CentOS 下 Codeblocks 的 安装 + 汉化 以及 基本使用介绍
    关于阿里如何吸引大学生用户理财的一些个人看法
    分页 存储过程
    点击退出,并未直接跳转到登陆界面,登录界面还停留在框架集界面
    梦幻之旅--地图编辑器开发
  • 原文地址:https://www.cnblogs.com/zping/p/13542253.html
Copyright © 2011-2022 走看看