提供API分页功能的时候, 有一些最佳实践值得分享, 列出来如下
1. 对于合格数据量特别大的情况 比如表中数据1000W, where之后还有30W这种, 禁止使用 limit m,n 这种分页, 越翻越慢, 从而导致mysql消耗资源过高, 此类分页是查出前XX页, 舍弃掉, 如果 limit 100000, 2, 会查出100000条, 然后舍弃掉,
推荐使用基于自增id进行分页的方式, 详见 http://www.fuchaoqun.com/2009/04/efficient-pagination-using-mysql/
2. 封装Page对象, 对分页操作进行封装, 提供 分页相关方法, 比如上一页, 下一页, 是否有上一页, 总页数, 计算startIndex等.
3. 对于跨库, 跨表的分页操作, 使用自增id进行分页就不能够满足需求, 需要提供是否有上一页, 是否有下一页这种标志位来进行分页操作了
本文分享了API分页的最佳实践,包括处理大数据量时的分页方式、封装Page对象进行分页操作、跨库跨表分页时的解决方法,并提供了相关链接和示例。

7494

被折叠的 条评论
为什么被折叠?



