大佬们求救,慢 SQL 问题

2020-08-03 15:40:22 +08:00
 zzhpeng

问题

描述:订单表,Innodb 存储引擎。排名前几个的慢 sql 语句,有些用了 count(*),弄到 rds 数据库 cpu 满了,服务器 502.

1 、慢 sql 排名图,如下:

2 、排名第一的慢 sql 执行情况:

3 、explain 排名第一的慢 sql:

自我分析:sql 23ms 也正常呀,难道是锁的问题吗?

6711 次点击
所在节点    MySQL
76 条回复
zzhpeng
2020-08-03 17:36:46 +08:00
@qwerthhusn 逻辑复用没解耦问题
july1115
2020-08-03 17:36:48 +08:00
排名第一的慢 sql 感觉问题不大啊。?? 最近也在解决慢 sql 的问题,因为某 sql 语句连表查询太多,直接新建了一个表,先把整理的数据保存的新表里。
zhangysh1995
2020-08-03 20:54:08 +08:00
Range 查询 IN 没有用到索引,慢吧?你可以试试其他条件去掉,只来 EXPLAIN 用 IN 这个条件试试。
RadishWind
2020-08-03 21:32:54 +08:00
不是 我想看看索引在表结构里面的定义
xuanbg
2020-08-03 22:10:59 +08:00
上上周我们的阿里云 RDS 遇到了奇怪的慢 SQL 暴增的现象,但这些慢 SQL 在前一天还都正常得不得了。。。到最后,查询一张只有几十条数据的表都要好几秒!!!估计是物理机 IO 打满、CPU 打满,没办法,只能跑路。迁移可用区后,一切恢复正常。
mingl0280
2020-08-04 07:11:45 +08:00
@zzhpeng 就是说你爆发的时候的数据是不准确的啊!!!!!让你平时没炸的时候测,可以更准确地定位有问题的语句(因为不会出现短请求不断重复却因为其它单个长请求卡死)的啊……
594duck
2020-08-04 08:16:35 +08:00
总表有多大,你这 Select 语句可能因为超出索引 直接变全表扫描了。读写分离考虑一下。
594duck
2020-08-04 08:22:39 +08:00
还有要小心 MYSQL 索引 有索引合并,如果一不小心你没命中索引 就又麻烦了。建议仔细看看。
594duck
2020-08-04 08:29:16 +08:00
你看慢请求里,集中在 SIMA 表,扫描行数都是 5K 以上。你总表有多大,然后自己看看有没有用到索引 。这二个是优化点。
blackeeper
2020-08-04 09:02:07 +08:00
1,你的这个排序是按照 [执行次数] 来排序的,这个并不准确。
2,你可以看看最大扫描行,和最大返回行的前三排序。
JasonLaw
2020-08-04 09:21:57 +08:00
最近在看《数据密集型应用系统设计》,如果对你现在的情况合理的话,或许你应该分开 OLTP 和 OLAP 。
zhaozs1
2020-08-04 09:26:18 +08:00
排除法,把每个条件单独去掉看看,然后确认问题哪给条件的问题。
encro
2020-08-04 09:35:17 +08:00
看到最后一张图,select * from store 正在 send data,explain 看下行数。是不是全表返回了。
encro
2020-08-04 09:39:17 +08:00
还需要需要贴出阿里云 RDS 监控图表,看瓶颈在哪里。
kimqcn
2020-08-04 09:50:30 +08:00
是不是 IS NULL=全表扫描
CoderGeek
2020-08-04 09:59:39 +08:00
@JasonLaw 俗点说 读写分离? 2333
zzhpeng
2020-08-04 10:00:50 +08:00
@xuanbg 这。。。。阿里出现这种问题,迁移也要花费好多时间了
JasonLaw
2020-08-04 10:05:08 +08:00
@kimqcn #55 “是不是 IS NULL=全表扫描”,可以看一下这个相关讨论 https://www.v2ex.com/t/694500
hxy91819
2020-08-04 10:05:30 +08:00
看样子是偶尔慢。索引扫描行数 6000+,可以优化,但是问题不大。问题应该不是出在索引这里。需要考虑下锁的竞争问题,分析下所有跟这个表有关的 SQL,看下有没有可能是锁定太多行了,尽量根据 id 去更新数据。
x537196
2020-08-04 10:10:07 +08:00
提工单让阿里云协查,说不定是他们自己 IO 的问题,之前我们的数据库也是 CPU 满,死活查不出原因,提了工单,阿里云说物理机有问题

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/695266

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX