mysql 的 sql 优化,佬们有啥建议,被监控出慢查询

2023-08-04 14:16:59 +08:00
 nice2cu
SELECT a.status, a.contract_id, a.product_id, b.num AS total , SUM(a.product_num - a.contract_outstock_num) AS sumNum FROM tableA a, tableB b
WHERE a.corpid = ? AND a.del = ? AND b.corpid = ? AND b.del = ? AND a.product_id = b.id AND a.is_produce = ? AND a.type = ?
GROUP BY a.contract_id, a.product_id
HAVING sumNum > total
ORDER BY a.id, a.product_id, a.contract_id
2227 次点击
所在节点    MySQL
24 条回复
nice2cu
2023-08-07 09:23:26 +08:00
@zjsxwc 好的 多谢大佬 我试试
nice2cu
2023-08-07 16:05:49 +08:00
@zjsxwc 生产试了下 从 1.7s 优化到了 0.2s 感谢大佬
nice2cu
2023-08-07 16:42:44 +08:00
俩表数据量分别是 2000w
4000w
nice2cu
2023-08-08 11:28:43 +08:00
@zjsxwc 佬,再问个问题 现在我们生产开启了查询缓存
比如我有个 sql a 执行时间 2s
sql b 是基于 sql a 我加了个 and 1==1 执行时间才几毫秒
两个 sql 的结果是一样的 这是为啥呀
现在验证不了优化的时间了

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

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

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

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

© 2021 V2EX