mysql慢查询日志

当感到sql查询过慢的时候,我们一般有两种查看方法

  • explain 执行计划,可以查看单条sql语句的具体执行过程
  • 开启mysql的慢查询日志功能
    下面,主要阐述的就是mysql的慢查询启用和分析方法
    (mysql version is 5.6)

开启慢查询

开启慢查询分为两种方法
查询状态 show variables like '%slow_query_log%;

mysql慢查询日志_第1张图片
慢查询状态

  1. 临时启用,直接使用sql 配置
    set global slow_query_log=1;
    slow_query_log_file是默认的慢查询存储的位置,可以更改
    mysql慢查询日志_第2张图片
    开启之后
  2. 用就启用,在my.cnf文件中配置,有则改,无则添加配置项
slow_query_log =1
slow_query_log_file=/var/log/mysql/mysql_slow_query.log

怎么筛选较慢的sql语句呢

mysql 有个配置项叫long_query_time 可以精确到微秒,通过设置其值,我们可以定义超过多长时间为慢,默认为10s.
可以使用show variables like '%long_query_time%;来查看其值

mysql慢查询日志_第3张图片
默认值
设置 long_query_time的值

set global long_query_time=4;
使用show global variables like 'long_query_time' 来查看设置之后的状态

mysql慢查询日志_第4张图片
改变之后

接下来就可以使用了

使用之前,先重新链接一次
使用select sleep(5); 测试
查看日志

  1. 可以直接查看日志文件
    sudo less /var/lib/mysql/winlans-PC-slow.log
  2. 使用mysql慢日志分析工具
    sudo mysqldumpslow,输出如图
    mysql慢查询日志_第5张图片
    慢查询分析结果

    好像差不多了,如果有什么不足,后续慢慢补吧

你可能感兴趣的:(mysql慢查询日志)