• 开启慢查询


    一、什么是慢查询
    慢查询,顾名思义,执行很慢的查询。有多慢?超过long_query_time参数设定的时间阈值(默认10s),就被认为是慢的,是需要优化的。慢查询被记录在慢查询日志里。慢查询日志默认是不开启的。如果需要优化SQL语句,就可以开启这个功能,它可以让你很容易地知道哪些语句是需要优化的。

    1️⃣show variables like 'slow_query_log';查询是否开启慢查询日志
    【开启慢查询sql:set global slow_query_log = 1/on;】
    【关闭慢查询sql:set global slow_query_log = 0/off;】
    2️⃣show variables like 'log_queries_not_using_indexes';查询未使用索引是否开启记录慢查询日志
    【开启记录未使用索引sql:set global log_queries_not_using_indexes=1/on】
    【关闭记录未使用索引sql:set global log_queries_not_using_indexes=1/off】
    3️⃣show variables like 'long_query_time';查询超过多少秒的记录到慢查询日志中
    【设置超1秒就记录慢查询sql:set global long_query_time= 1;设置超1秒就记录】

    二、慢查询的配置文件 my.cnf
    在MySQL的配置文件my.cnf中写上:

    long_query_time = 10
    log-slow-queries = /var/lib/mysql/mysql-slow.log
    1
    2
    long_query_time是指执行超过多久的SQL会被日志记录下来,这里是10 秒。
    log-slow-queries设置把日志写在哪里。为空的时候,系统会给慢查询日志赋予主机名,并加上slow.log。如果设置了参数log-long-format,那么所有没有使用索引的查询也将被记录。

    这是一个非常有用的日志。它对于性能的影响不大(假设所有查询都很快),并且强调了那些最需要注意的查询(丢失了索引或索引没有得到最佳应用)。

    三、慢查询解读
    第一行:记录时间
    第二行:用户名 、用户的IP信息、线程ID号
    第三行:执行花费的时间【单位:毫秒】、执行获得锁的时间、获得的结果行数、扫描的数据行数
    第四行:这SQL执行的时间戳
    第五行:具体的SQL语句
    ————————————————
    版权声明:本文为CSDN博主「一起努力啊啊啊啊」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/ChineseSoftware/article/details/123200916

  • 相关阅读:
    终极解码 FinalCodecs 2020 春节版 V5
    AutoCAD 2019.0.1 Update 官方简体中文版
    Adobe Flash Player 29.0.0.140官方正式版
    VMware Pro 14.1.2 官方正式版及激活密钥
    Visual Studio 2015 Update 2
    世界工资研究报告与借鉴
    Microsoft .NET Framework 4.6.1
    推荐算法之去重策略
    推荐算法之加权采样
    推荐系统之构建排行榜
  • 原文地址:https://www.cnblogs.com/cfas/p/16598927.html
Copyright © 2020-2023  润新知