千家信息网

优化评论分页查询

发表于:2024-10-04 作者:千家信息网编辑
千家信息网最后更新 2024年10月04日,possible_keys、key、key_len都为null,可见在表上是没有可用索引的计算区分度,越接近1区分度越好,应该放到联合索引的左侧建好联合索引之后的explain:翻页越多,速度越慢,进
千家信息网最后更新 2024年10月04日优化评论分页查询

possible_keys、key、key_len都为null,可见在表上是没有可用索引的

计算区分度,越接近1区分度越好,应该放到联合索引的左侧

建好联合索引之后的explain:




翻页越多,速度越慢,进一步优化:

优化的前提:comment_id是商品评论表的主键,且有覆盖索引

原理:

利用覆盖索引,取出主键comment_id,再进行排序,取出所需数据,之后再同评论表通过主键来排序,取出其他字段。这种方式的数据开销是:索引的io + 索引分页后的结果,也就是这15行数据对应表的io,比优化前的io节省很多。优点在于:每次翻页消耗的资源和时间基本相同。

适应场景:

当查询和排序字段,也就是where子句和order by子句涉及的字段有对应覆盖索引的情况下。并且中间结果集很大的时候也适应这种情况

0