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

原因是:通过日志和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问,一定要看下执行时间,出现秒级别的就说明有问题,需要修改。
索引一定要加上。
posted @ 2017-06-05 13:58  红色沙漠  阅读(310)  评论(0编辑  收藏  举报