• (转)MySQL慢查询分析优化 + MySQL调优


    1.long_query_time的默认值为10,意思是运行10S以上的语句。
    2.临时设置开启慢查询日志
    mysql> show variables like '%slow_query_log%';
    +---------------------+------------------------------------------+
    | Variable_name       | Value                                    |
    +---------------------+------------------------------------------+
    | slow_query_log      | ON                                       |
    | slow_query_log_file | /usr/local/mysql/data/localhost-slow.log |
    +---------------------+------------------------------------------+
    #使用set global slow_query_log=1开启了慢查询日志只对当前数据库生效
    3.修改my.cnf文件,增加或修改参数slow_query_log 和slow_query_log_file后,然后重启MySQL服务器,如下所示:
    slow_query_log =1
    slow_query_log_file=/usr/local/mysql/data/localhost-slow.log
    注意:使用命令 set global long_query_time=4修改后,需要重新连接或新开一个会话才能看到修改值。你用show variables like 'long_query_time'查看是当前会话的变量值,你也可以不用重新连接会话,而是用show global variables like 'long_query_time'; 如下所示:  
    mysql> show global variables like 'long_query_time';
    +-----------------+----------+
    | Variable_name   | Value    |
    +-----------------+----------+
    | long_query_time | 4.000000 |
    +-----------------+----------+
    日志分析工具mysqldumpslow:
    比如:
    得到返回记录集最多的10个SQL。
    mysqldumpslow -s r -t 10 /database/mysql/mysql06_slow.log
     
    得到访问次数最多的10个SQL
    mysqldumpslow -s c -t 10 /database/mysql/mysql06_slow.log
     
    得到按照时间排序的前10条里面含有左连接的查询语句。
    mysqldumpslow -s t -t 10 -g “left join” /database/mysql/mysql06_slow.log
     
    另外建议在使用这些命令时结合 | 和more 使用 ,否则有可能出现刷屏的情况。
    mysqldumpslow -s r -t 20 /mysqldata/mysql/mysql06-slow.log | more
    
    参考: https://www.cnblogs.com/saneri/p/6656161.html
  • 相关阅读:
    JAVA泛类型(汽车Demo)
    java自定义事件机制分析
    ExtJS自定义事件
    模块化设计进化
    面向服务的SOA架构与服务总线ESB
    数据加密数字签名
    面试题
    一点ExtJS开发的感悟
    学习代理模式
    抽象类与接口
  • 原文地址:https://www.cnblogs.com/hixiaowei/p/10687116.html
Copyright © 2020-2023  润新知