一条SQL引起的雪崩

1、问题描述

      MySQL服务器卡死,CPU飚到300%多,命令执行缓慢。

      

      

2、问题定位

      踩了狗屎运,直接找到了问题缘由

      

      发现了一条SQL写的模糊匹配,将%写在了关键字的前面,这样会造成查询不使用索引,全表扫描

      

      使用EXPLAIN发现这个SQL扫描了两千多万行。。。

3、问题解决

      最终确认是应用写错了SQL,将SQL语句改成如下:

      

      去掉前置%号,或者直接使用WHERE mobile = 'xxx';

      CPU恢复正常,服务器恢复正常。

      

猜你喜欢

转载自www.cnblogs.com/dukuan/p/9510569.html