offset 分页简单直观,但页码越大,数据库需要跳过的数据越多。后台低频查询可以接受,用户信息流和高频列表就要谨慎。

游标分页更适合按时间或 ID 顺序滚动的场景。它用上一页最后一条记录作为下一页条件,避免深分页扫描。

SELECT * FROM logs
WHERE id < ?
ORDER BY id DESC
LIMIT 20;

游标分页的代价是不能随意跳页,但换来的是稳定性能。多数移动端列表并不需要跳到第 200 页。

选择分页方式时先看产品使用方式:需要精确页码还是连续浏览。技术方案应该匹配真实行为。

分类: 数据库与缓存 标签: API设计 MySQL 分页

评论

-- 评论已关闭 --

全部评论