首页常见问题正文

怎样对MySQL的limit分页查询进行优化?

更新时间:2023-05-08 来源:黑马程序员 浏览量:

在数据量比较大时,如果进行limit分页查询,在查询时,越往后,分页查询效率越低。执行limit分页查询耗时对比如下:
1683530047535_101.png

因为,当在进行分页查询时,如果执行limit 9000000,10,此时需要MySQL排序前9000010记录,仅仅返回9000000 - 9000010的记录,其他记录丢弃,查询排序的代价非常大 。

优化思路:一般分页查询时,通过创建覆盖索引能够比较好地提高性能,可以通过覆盖索引加子查询形式进行优化

select*
from tb_sku t.
   (select id from tb_sku order by id limit 9000000,10) a
where thg = a.id;

先分页查询数据的同字段,确定了id之后,再用子查询来过滤,只查询这个试列表中的数据,因为查询id的时候,走的覆盖索引,所以效率可以提升很多。


分享到:

Java培训班课程javaee

Python培训机构python大数据

web前端培训课程升级V8.5web

AI+设计培训课程ui

大数据培训课程cloud

软件测试培训课程test

c

新媒体运营培训netmarket

产品经理培训课程pm

linux培训Linux

movies

智能机器人培训robot

电商视觉设计课程uids

AI

集成电路应用开发(嵌入式)培训课程jdbc

在线咨询 我要报名
和我们在线交谈!