您的位置:首页 > 其它

记一次线上性能优化

2015-08-12 21:12 429 查看
今天在查看接口的时候发现有两个接口长期霸占最耗时接口排行榜,所以找了个空闲定位了一下问题。从原来的500ms左右提到4ms左右,特此小小记录一下。

定位过程

通过程序监控工具,我们发现有一个slow sql,单表查询。

select pk from tb1 where c1 = 'some key' and ... other condition

在sql书写上的确没有优化空间了。

EXPLAIN
上面sql发现:



通过上图发现是type为ALL全表扫描,单表比较庞大,所以扫表必然慢。

解决

字段
c1
是一个基本不会重复的字段,所以在这个上面加上了索引就可以了。加过索引之后的执行计划:



上图可以发现,ref变成了const。

结束语

写建表sql的时候要根据自己的业务量和业务场景创建合适的索引
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: