sql in为什么很慢_为啥你这个sql怎么慢呢

本文探讨了MySQL中SQL执行慢的问题,包括定位慢查询、分析sql运行情况、偶尔和一直很慢的原因,如数据库刷新脏页、未使用索引等。提出了读写分离、索引优化和数据拆分等解决方案,旨在帮助优化SQL查询速度。
摘要由CSDN通过智能技术生成

sql执行慢

    有些一句简单的sql看起来平平无奇,但是却执行很慢,一般存在这么几种可能性:

  • 大多数情况下还可以,只是偶尔出现慢的情况

  • 在数据量不变的情况下,这条sql语句一直执行很慢

  • 整个sql运行慢

定位

    针对sql运行慢,我们要做的首先就是定位出这些sql,然后再看这些sql是否正确创建并使用索引

慢查询分析

    Mysql中自带了慢查询日志的功能,使用show variables like '%slow_query_log%'来查询慢查询日志是否开启

如下图所示:

20eada76e047ace09e0a641a79007620.png
image
开启慢查询日志
  • 临时开启

代码:set global slow_query_log=1

fbf0680442b947c5d2bd4e3afed16ead.png
image

    这种设置方式,只对当前数据库生效,如果Mysql重启也会失效

  • 永久开启

    如果要永远生效,就必须修改Mysql的配置文件my.cnf,配置如下

slow_query_log =1 slow_query_log_file=/tmp/mysql_slow.log
分析sql运行情况

    使用explain 分析你SQL的计划,如下图所示:

explain结果是基于数据库表中现有数据的

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值