一条SQL引起的雪崩
一条SQL引起的雪崩
1、问题描述
MySQL服务器卡死,CPU飚到300%多,命令执行缓慢。
2、问题定位
踩了狗屎运,直接找到了问题缘由
发现了一条SQL写的模糊匹配,将%写在了关键字的前面,这样会造成查询不使用索引,全表扫描
使用EXPLAIN发现这个SQL扫描了两千多万行。。。
3、问题解决
最终确认是应用写错了SQL,将SQL语句改成如下:
去掉前置%号,或者直接使用WHERE mobile = ‘xxx’;
CPU恢复正常,服务器恢复正常。