Mysql之慢查询

介绍

  慢查询,是指一条sql的执行时间超过10s;这里的10s可以配置,设置为你想要的时间长度。名称上是慢"查询",但不光是查询,也对增加、修改、删除起作用。下面我们来看下相关sql。

查询、修改相关配置

show variables like 'slow_query_log%';

在这里插入图片描述

  结果的第一行表示是否开启慢查询,第二行表示,开启后慢查询日志存放的路径。

show variables like 'long_query%';

在这里插入图片描述

  这个long_query_time就是sql执行时间超过它,算是慢查询。


  修改配置:
-- 开启慢查询
set global slow_query_log = 'on';

-- 设置日志存放的路径
set global slow_query_log_file = '日志存放的路径';

-- 超过3s
set @@long_query_time = 3;

  上面的修改方式,mysql重启后会失效;要永久生效,在mysql安装目录下的my.cnf(windows中是my.ini)中添加:
slow_query_log = on
slow_query_log_file = /路径
long_query_time = 3

测试

select sleep(4);

  然后到慢查询日志中查看,发现多出来:

在这里插入图片描述

排查

  造成sql时间过长的原因有很多:

  1.是否表数据量太大(考虑分库分表)
  2.是否并发量过高
  3.是否锁表
  4.是否使用索引或索引没有生效
  5.sql是否高效

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值