问题现象
最近线上项目查询列表的时候出现了一个问题,查询特定栏目的聚合数据,会特别慢,需要7s左右才能返回数据,其余栏目基本都在几百毫秒左右。
问题原因
可以参考以下文章
为什么MySQL选了一个不符合预期的索引
解决过程
首先使用explain 查询执行过程:
发现没有命中索引
去掉部分channel_id可以命中一个低效的索引,原因可以参考上文
最终我们选择增加强制索引解决问题,实现命中预期索引
查询时间由3s降低到0.08s
优化前:
优化后:
最近线上项目查询列表的时候出现了一个问题,查询特定栏目的聚合数据,会特别慢,需要7s左右才能返回数据,其余栏目基本都在几百毫秒左右。
可以参考以下文章
为什么MySQL选了一个不符合预期的索引
首先使用explain 查询执行过程:
发现没有命中索引
去掉部分channel_id可以命中一个低效的索引,原因可以参考上文
最终我们选择增加强制索引解决问题,实现命中预期索引
查询时间由3s降低到0.08s
优化前:
优化后: