分页使用pageNum还是offset的优缺点
看你的 offset
是啥,如果就是简单的 page * limit
那其实没啥区别。
但如果是个 id
之类的标识符,那就区别挺明显的了。
比如有一个最新文章列表的场景,用户访问第一页加载出来了 10 条,当用户翻到下一页时,此时又有新文章进来了。如果你是 page
那么第一页最后一条数据就会被“挤”到第二页去了,这时返回数据就会有重复问题;而 offset
则没这个问题,它始终代表某条记录之后的数据。
但上面这种情况 offset
对于如果存在用户可自定义按照某字段排序之类的场景实现起来就比较复杂。
15 回答8.4k 阅读
7 回答5.3k 阅读
6 回答6.9k 阅读✓ 已解决
8 回答6.2k 阅读
4 回答4.4k 阅读✓ 已解决
5 回答3.2k 阅读✓ 已解决
4 回答4k 阅读
差不多,根据具体情况选择用哪个
如果没有任何限制,用offset最简单,毕竟pageNum最后也要转换成offset
但是如果有“用户配置每页显示多少条”这类功能,就是pageNum更合适
反过来如果有“无限滚动”、“根据页面高度调整条目数量”这种需求,还是offset更优