事件源头: 周六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
解决… 哈哈…