Mysql 问题排查记录

背景
项目网页打开数据很慢,于是我就去找dba查看一下是否有慢SQL。然后DBA给的反馈是MYSQL被我调挂掉了。所以访问超时,页面打不开。

发现过程
DBA 发现有一些SQL的执行时间超过1s.并且有一些并发访问。于是就将MYSQL直接给拖垮了。于是DBA将慢的SQL发给我如下。

上图我们可以很明显看到我使用了count()命令。所以比较耗时。

解决方法

首先。我的业务需求是查找出 where a = xx and b = xx 的最后一行。
于是我用了首先 count 算出来有多少行。然后再按照分页查找。分为count()这么多页。每页一个数据。查最后一页。这样就能实现我的业务需求了。但是这样做确实是SQL会有问题。于是优化了
SQL。
变成了 Select * from table where a = xx and b = xx order by id desc limit 1 ;

修改SQL。将SQL优化了。查询数据很快了。问题就解决了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值