limit偏移量越大,查询越慢的实验
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了limit偏移量越大,查询越慢的实验相关的知识,希望对你有一定的参考价值。
常见分页查询,越到后面越慢,这是由于offset造成的,offset越大,查询越慢,因为所以加载的页越多,扫描也就越费时。
实验:
sbtest1表,100w数据量,主键id,辅助非唯一索引k_1
select id
from sbtest.sbtest1 where id
>="200000" order by id
limit 100000,10;
select id
from sbtest.sbtest1 where id
>="200000" order by id
limit 700000,10;
两条语句的执行计划是一样的,都是使用主键索引,但执行时间越差了0.76秒
但是通过Innodb_buffer_page查看,索引使用的页情况
Offset 100000时,主键加载了3720个页
Offset700000时,主键加载了10971个页
也就是说,offset越大,索引扫描页越多,所以导致变慢。
以上是关于limit偏移量越大,查询越慢的实验的主要内容,如果未能解决你的问题,请参考以下文章