• MySQL调优三部曲(一)慢查询


              MySQL调优三部曲(一)慢查询
    开启慢查询日志,可以让MySQL记录下查询超过指定时间的语句,通过定位分析性能的瓶颈,可以更好的优化MySQL的性能

    参数说明
    slow_query_log: 慢查询开启状态(on/off)
    slow_query_log_file: 慢查询日志存放位置(该目录需要MySQL的运行账号可写权限,一般设置为MySQL的数据存放目录)
    long_query_time: 查询超过多少秒才记录
    设置步骤
    1. 查看慢查询相关参数
    <code>mysql> show variables like 'slow_query%';
    +---------------------+--------------------------------------+
    |Variable_name | Value |
    +---------------------+--------------------------------------+
    | slow_query_log | OFF |
    | slow_query_log_file | /var/lib/mysql/9e598ca46b66-slow.log |
    +---------------------+--------------------------------------+
    2 rows in set (0.00 sec)mysql> show variables like 'long_query_time';
    +-----------------+-----------+
    | Variable_name | Value |
    +-----------------+-----------+
    | long_query_time | 10.000000 |
    +-----------------+-----------+
    1 row in set (0.00 sec)</code>
    2. 设置

    全局变量设置
    开启慢查询

    <code>mysql> set global slow_query_log=ON; </code>
    设置慢查询日志存放位置

    <code>mysql> set global slow_query_log_file=/var/lib/mysql/slow.log;</code>
    设置超时时间

    <code>mysql> set global long_query_time=2;</code>
    ps1: 使用命令 set global long_query_time=2修改后,需要重新连接或新开一个会话才能看到修改值

    ps2: 不知道为啥,我用全局设置的方法总是写不了慢查询日志,重启也不行

    配置文件设置
    修改配置文件my.cnf,在[mysqld]下添加

    <code>[mysqld]slow_query_log = ONslow_query_log_file = /var/lib/mysql/slow.loglong_query_time = 2</code>
    重启MySQL服务

    service mysqld restart

    慢查询分析
    mysqldumpslow -s [Parameter] -t [Parameter] /var/lib/mysql/slow.log
    参数
    -s : 排序方式

    c:query执行的次数
    t:sql执行的时间
    l:lock锁表的时间
    r:sql返回的行数
    -t: top,返回前n条数据

    -g: 正则匹配,大小写不敏感

    返回执行时间最长的前两个query
    mysqldumpslow -s t -t 2 /var/lib/mysql/slow.log

    显示执行次数最多的前两个query
    mysqldumpslow -s c -t 2 /var/lib/mysql/slow.log

    返回按照时间排序的前10条里面含有左连接的查询语句
    mysqldumpslow -s t -t 10 -g "left join" /database/mysql/slow-log

  • 相关阅读:
    每日总结2.26
    《梦断代码》阅读笔记三
    每日总结2.25
    每日总结2.24
    每日总结2.23
    每日总结2.22
    每日总结2.19
    《梦断代码》阅读笔记二
    Java-11 形参和实参
    Java-10 final用法
  • 原文地址:https://www.cnblogs.com/renchengtianshao/p/9815069.html
Copyright © 2020-2023  润新知