zoukankan      html  css  js  c++  java
  • 慢查询日志

    慢查询日志是MySQL提供的一种日志记录,它记录MySQL中响应时间超过阈值的语句,具体指运行时间超过long_query_time值的sql语句,该sql语句会被记录到慢查询日志中。慢查询日志主要与explain进行联合分析。

    一、如何开启慢查询日志

    默认情况下,MySQL数据库没有开启慢查询日志,需要我们手动来设置这个参数。如果不是调优需要,一般不建议开启该参数,因为开启慢查询日志或多或少会带来一定的性能影响。

    #首先查看慢查询日志是否开启

    注:Value为OFF表示关闭,笔者已经将慢查询日志开启,所以Value显示为ON。

    #使用如下命令开启慢查询日志

    注:使用该命令开启慢查询只对当前数据库生效,MySQL重启失效,如果要配置长期有效,请在my.cnf中进行配置。

    二、慢查询的相关参数

    #查看慢查询的阈值时间,该值有long_query_time控制。默认情况下为10秒

    注:假如sql语句的运行时间正好等于long_query_time时,sql并不会被记录下来,因此判断慢查询是sql的执行时间大于long_query_time,而不是大于等于。

    #设置long_query_time的值

     

     

    当设置long_query_time值后,查看其值并没有变化,解决方式:

    ① 关闭当前连接,重新开一个新的连接。

    ② 使用如下命名:

     

     #查看慢查询sql的数目。笔者已执行了两次select sleep(9)命令

     

     查看慢查询日志文件:

     

     从文件中可看到两条select sleep(9)语句。

    三、使用mysqldumpslow分析慢查询日志文件

    因为直接分析日志文件是个体力活,因此mysql为我们提供了相关工具mysqldumpslow来对慢查询日志文件进行分析。

    具体使用方式可用mysqldumpslow --help命令查看具体参数,或参考:http://www.cnblogs.com/moss_tan_jun/p/6603766.html 

    转自:https://www.cnblogs.com/developer_chan/p/9228563.html

    时刻与技术进步,每天一点滴,日久一大步!!! 本博客只为记录,用于学习,如有冒犯,请私信于我。
  • 相关阅读:
    结构体
    指针
    数组
    银行取款机系统
    函数
    基础
    IOS系统的安装和Vi的操作模式以及简单的指令
    1203.4——循环语句 之 for
    1203.3——循环语句 之 while
    1203.2——条件语句 之 switch语句
  • 原文地址:https://www.cnblogs.com/myitnews/p/13696699.html
Copyright © 2011-2022 走看看