mysql分页偏移量,MySQL 分页查询优化思路

前言

突破查询瓶颈的方法有很多,但这里先不谈分库分表之流,当头问题就一个:单数据表分页查询过慢怎么办?

其实讲分页优化的博客真不少,但很多博主只顾分享点子忽略了细节,还有很多值得补充的地方。笔者回顾了曾经在千万级 BBS 项目的优化经历,尽可能结合实际地聊聊个人对分页查询的见解。也希望读者在亲身操作中验证,任何优化脱离了实际场景都是纸上谈兵。

分页方式

首先介绍最常见的数据分页方式,即传统分页和流式分页。

传统分页

7252b3014c9538bbe2d652a979a309eb.png

传统分页的基本逻辑是每页展示固定的条目数、通过页码分页和翻页,包含要素如下:

首页:按序查询出一页长度的数据,作为顶部数据,无须处理偏移量。

下一页:除了末页都有下一页。通过页数能确定当前数据的偏移量,和数据总数比较可以判断是否还有下一页。偏移量可用于获取下一页的信息。

上一页:除了首页都有上一页。其余同上。

跳转:同上,偏移量来判断是否支持跳转到该页。

总页数:只要记住数据总量,除一下就能得到页数。结合跳转功能使用。

末页:许多系统会支持跳转到最后一页,根据总页数或总量即可实现。

翻页和跳转功能为查询效率带来了极大挑战,一方面带着偏移量的 MySQL 查询效率不高,另一方面功能上也存在缺陷࿰

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值