那么多张表联合分页是如何做到的呢?
如果分表的依据是字段 A, 但是需要根据字段 B 进行分页查询, 针对这种情况应该如何处理呢?
为了后面方便说明, 这里举个例子....按照 ID 取模分到了两个表中.
user_article_1 user_article_0
现在有这样一个需求:
按照文章的发表时间进行排序分页
单表
先来看在单表的时候, 我们是如何查询的, 之后再扩展到多表...得到偏移量4的数据为5. 组合后返回结果为:
[5, 6, 9, 10]
这, 明眼人一看, 就知道结果应该是[5, 6, 7, 8]....同时, 也拿到了偏移量30的值S.
如果数据分布十分不均匀, 在这一步, 极端情况会将前面所有数据都拿出来.
第三步, 返回结果
如果确信不会出现前面提到的极限情况, 这里直接组合结果并返回即可....应该是有对顺序精度没什么要求的场景吧. 想到了这种方案, 但是暂时没有想到应用场景.
如果是针对分表字段排序的话, 那么数据分布均匀, 此方案完美.
最后
具体业务应该如何选择分页方式呢?