本篇文章会介绍如何在表格存储上实现分页查询。
有别于传统关系型数据库支持的翻页查询,在NoSQL的数据模型和API上,实现分页功能会有以下的限制,需要特别注意:
- 不支持获取整个范围的行数,即无法计算总的页数。
- 不建议使用设置offset来跳页,因为offset的过滤是在客户端做,服务端不管如何,都会扫描读出那么多的数据。若offset设定过大,则可能导致本次查询时间过长。
- 最佳实践是只提供顺序翻页的功能,一页一页顺序往下翻。
下面是一个实现分页读接口的示例代码,提供offset过滤以及读取指定页数的数据:
下面是使用以上接口,顺序的一页一页读取某个指定范围内的所有数据的例子:
完整的例子可以从附件下载。