MySql教程

记录一个mysql CPU 100%的事故

本文主要是介绍记录一个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
解决… 哈哈…

这篇关于记录一个mysql CPU 100%的事故的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!