记录一个mysql CPU 100%的事故

事件源头: 周六mysql从5.6 升级到 5.7 --> 周一业务开始使用
–> 正常…正常… 突然系统不能正常登陆.
–> 我开始接到一堆业务的轰炸, 系统不能用了…不能用了…赶紧解决…影响单子…

开始查监控,发现机器CPU 一直处于100%. 细查,发现一个sql 慢, 一个sql慢能导致CPU 100%??? 大大的疑问???

验证:

还好,还好…有记录,可以轻松拿到慢的sql(这里要说监控的重要性).
单独执行这个sql, 确实很慢,CPU 飙升.

解决问题:

1.检查所有的索引 —正常
2.拆分里面的sql – 数据量都不大
3. inner join ???
子查询 inner join? 笛卡尔积?
还真是啊, 子查询5000条数据,笛卡尔积12w*5000
distinct 去重 数据5000->300
解决… 哈哈…

上一篇:一文读懂数据分析之对比思维(5000字深度好文)


下一篇:关于Java性能优化的几点建议,大厂面试必备技能