背景
上午前端业务部同事突然反馈系统某个功能无法使用,并且配上了截图
于是着手处理
问题分析
1、英文的意思概括下来就是接口超时,60秒没有拿到响应结果,超时报错
2、本地连上生产环境重现了问题,发现是sql问题,执行很慢,一个计数sql执行了35s,有点离谱
3、查看执行计划,有两次全表扫描,没有命中任何索引,这里全表扫描的原因是join的字段上没有索引,只能从头扫到尾,效率低就正常了
问题处理
既然知道是索引的问题,那就加上索引吧
alter table ys_user add index index_superior_id(superior_id);
alter table ys_user_gift add index index_subordinate_id(subordinate_id);
alter table ys_user_gift add index index_user_id(user_id);
加入索引之后的执行时间只要0.137s
结束
到此问题解决。
标签:index,处理,索引,add,user,table,超时,id,线上 From: https://www.cnblogs.com/cat-fish-h2/p/18071066