百万数据分页查询

offset参数较高时,查询效率低
mysql处理逻辑如下图:

当页码较大时,查询效率变的非常低
解决方案
1、使用索引覆盖+子查询优化

/*子查询获取偏移4800000条的位置的id,在这个位置上往后取25*/
SELECT a.empno,a.empname,a.job,a.sal,b.depno,b.depname
from emp a left join dep b on a.depno = b.depno
where a.id >= (select id from emp order by id limit 4800000,1)
order by a.id limit 25;
posted @ 2021-07-02 10:01  倔强的老铁  阅读(79)  评论(0编辑  收藏  举报