既然要切分, 就要有一个切分的依据, 比如说按照 ID 取模等. 那么多张表联合分页是如何做到的呢?
如果分表的依据是字段 A, 但是需要根据字段 B 进行分页查询, 针对这种情况应该如何处理呢?...按照 ID 取模分到了两个表中.
user_article_1 user_article_0
现在有这样一个需求:
按照文章的发表时间进行排序分页
单表
先来看在单表的时候, 我们是如何查询的, 之后再扩展到多表...比如, 上一次查询, 最后一条数据是8, 那么, 下一次查询从各个列表中取出大于8的10条数据, 内存排序后取前10条, 同时将最后一条的值存下来供下一次查询使用....其中的最小值5, 全局偏移量必定>=2.
如果数据1中小于5的值大于2个, 那么第一次查询时结果必定不同
如果数据2中存在小于5的值, 那么5的全局偏移量只会增加....如果是针对分表字段排序的话, 那么数据分布均匀, 此方案完美.
最后
具体业务应该如何选择分页方式呢?