zoukankan      html  css  js  c++  java
  • MySQL的慢查询分析

    慢查询分析日最初是用来捕获比较“慢”的查询,在mysql5.1 + 版本中,慢查询的功能被加强,可以通过设置long_query_time为0来捕获所有的查询,而且查询的响应时间已经可以做到微妙级别。

    ---在MySQL的当前版本中,慢查询日志是开销最低,精确度最高的测量查询时间的工具。如果还在担心开启慢查询会带来额外的I/O开销,那大可以放心,我们在I/O密集型场景做过测试,慢查询带来的开销可以忽略不计(实际上CPU密集型场景的影响还稍大一些)

    更需要担心的是日志可能会消耗掉很大的磁盘空间,因此,不要长时间开启满日志查询   [高性能MySQL]


    下面我们采用慢查询日志查询语句的执行效率

    一、执行 show variables like '%quer%'; 查询是否已经开启了慢查询

    可以发现 binlog_rows_query_log_events 的状态为OFF,表明还没有打开日志功能

    打开慢日志功能有两种方式,

    (1.1) 在启动时直接打开:

    在default-ini中添加如下信息:

    [mysqld]

    log-slow-queries=" D:softpackagemysqldatacuiyw-slow.log"   --查询日志的输出目录

    long_query_time = 4                  --查询日志的阈值

    log-queries-not-using-indexes     --将没有索引的日志输出

    (1.2)使用命令临时打开:

    use databasename;
    set global slow_query_log = 1;
    set global long_query_time = 1;
    set global log_output = 'FILE';
    set global general_log = 1;
    set long_query_time = 1;

    我采用的是第二种方式,执行完后,执行show variables like '%quer%',确定是否启动成功:

    发现参数值变为了on,表明启动成功。我们查看一下data目录下的文件

    二、slow_query_log

    log_slow_queries实际上已经不再使用了,目前MySQL5.6版本的参数是slow_query_log,参数含义如下:

      (2.1)、命令行参数:

        --log-slow-queries

        指定日志文件存放位置,可以为空,系统会给一个缺省的文件host_name-slow.log

      (2.2)、系统变量

        log_slow_queries

        指定日志文件存放位置,可以为空,系统会给一个缺省的文件host_name-slow.log

        slow_query_log

        slow quere log的开关,当值为1的时候说明开启慢查询。

        slow_query_log_file

        指定日志文件存放位置,可以为空,系统会给一个缺省的文件host_name-slow.log

        long_query_time

        记录超过的时间,默认为10s

        log_queries_not_using_indexes

        log下来没有使用索引的query,可以根据情况决定是否开启

    三、重新启动MySQL(重新记录一下MySQL启动和关闭的方法)

    (3.1)、启动方式

    1、使用 service 启动:service mysqld start
    2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start
    3、使用 safe_mysqld 启动:safe_mysqld&

    (3.2)、停止

    1、使用 service 启动:service mysqld stop
    2、使用 mysqld 脚本启动:/etc/inint.d/mysqld stop
    3、mysqladmin shutdown

    (3.3)、重启
    1、使用 service 启动:service mysqld restart
    2、使用 mysqld 脚本启动:/etc/inint.d/mysqld restart

  • 相关阅读:
    Future和Callable的使用
    Tiny Jpeg Decoder (JPEG解码程序) 源代码分析 1:解码文件头
    jQuery 表格排序插件 Tablesorter 使用
    jQuery 表单验证插件 jQuery Validation Engine 使用
    jQuery 文本编辑器插件 HtmlBox 使用
    开源视频质量评价工具: IQA
    hql 语法与详细解释
    MYSQL常用命令
    C++发送HTTP请求获取网页HTML代码
    编译运行Red5源代码
  • 原文地址:https://www.cnblogs.com/CBDoctor/p/4659987.html
Copyright © 2011-2022 走看看