zoukankan      html  css  js  c++  java
  • mysql慢查询配置及分析

    1、进入mysql目录,打开my.cnf文件(这个文件是MySQL的配置文件,我们在这个文件里设置慢查询的开关和阈值,找不到my.cnf可用命令 find / -name my.cnf

    2、在my.cnf 加入以下配置:

    log_output=table #慢查询的记录方式

    slow_query_log=1 #1是开启慢查询日志,0是关闭

    long_query_time=1 #设置慢查询的阈值(执行速度超过1秒就会被记录在mysql.slow_log中)

    3、配置好之后,在mysql中执行show VARIABLES like '%query%'; 重点看两个变量long_query_time,slow_query_log(on为开启状态,off为关闭状态),慢查询的数据存放在mysql.slow_log中。

     

    4、修改完my.cnf必须重启mysql服务service mysqld restart 或者 systemctl start mysqld

    5、执行 select sleep(2)  执行时间2秒,超过long_query_time=1,会记录在mysql.slow_log中(此步骤只为测试慢查询配置是否生效)

    6、执行select * from mysql.slow_log order by start_time desc; 看表中是否有数据,如有数据则点击sql_text字段的BLOB右键复制,则可以复制出该条慢查询对应的SQL语句

    7、将慢查询SQL语句复制到编辑器里,选择该SQL语句点击解释按钮,观察type字段,以下是type字段的解释

    CONST>EQ_REF>REF>RANGE>INDEX>ALL

    CONST 查询索引字段,且表中只有一行匹配

    EQ_REF 主键或者唯一索引

    REF 非唯一索引

    RANGE 索引的范围查询

    INDEX 索引

    ALL 全表扫描 (效率极低的检索方式

    8、将问题反馈给开发,开发进行调优,添加外键约束,同时会生成索引。

  • 相关阅读:
    【算法】 冒泡排序
    【算法】 插入排序
    【算法】 斐波那契数列
    【C#】 RBAC 权限框架
    【jQuery】 实用 js
    【jQuery】 Ajax
    【jQuery】 常用函数
    【jQuery】 资料
    【jQuery】 效果
    Linaro/Yocto/Openwrt
  • 原文地址:https://www.cnblogs.com/Frank-guo/p/14115868.html
Copyright © 2011-2022 走看看