抢券活动,导致接口服务死掉。

原因是:通过日志和show processList 发现首页的某sql文,使用频发,且都在processing中。说明此sql文执行速度较慢,且该sql应该使用缓存技术。
修改案:mybaits useCatche =true追加
大表的检索条件加上了索引。
将sql文重新写了一个,性能提高很多
 
 
  select SUBSTRING_INDEX(group_concat(detail.detail_id ORDER BY detail.create_time DESC), ',',1) detail_id,
SUBSTRING_INDEX(group_concat(detail.detail_title ORDER BY detail.create_time DESC), ',',1) detail_title
from sys_static_info_class a LEFT JOIN sys_static_info_detail detail on a.sic_id = detail.sic_id
GROUP BY a.sic_id
 
 
 
 
启发:以后写sql问,一定要看下执行时间,出现秒级别的就说明有问题,需要修改。
索引一定要加上。
原文地址:https://www.cnblogs.com/taiyanhong/p/6944586.html