更新时间:2023-05-08 来源:黑马程序员 浏览量:
在数据量比较大时,如果进行limit分页查询,在查询时,越往后,分页查询效率越低。执行limit分页查询耗时对比如下:
因为,当在进行分页查询时,如果执行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的时候,走的覆盖索引,所以效率可以提升很多。
1024首播|39岁程序员逆袭记:不被年龄定义,AI浪潮里再迎春天
2025-10-241024程序员节丨10年同行,致敬用代码改变世界的你
2025-10-24【AI设计】北京143期毕业仅36天,全员拿下高薪offer!黑马AI设计连续6期100%高薪就业
2025-09-19【跨境电商运营】深圳跨境电商运营毕业22个工作日,就业率91%+,最高薪资达13500元
2025-09-19【AI运维】郑州运维1期就业班,毕业14个工作日,班级93%同学已拿到Offer, 一线均薪资 1W+
2025-09-19【AI鸿蒙开发】上海校区AI鸿蒙开发4期5期,距离毕业21天,就业率91%,平均薪资14046元
2025-09-19