【发布时间】:2019-03-26 10:18:16
【问题描述】:
我需要对 Couchbase N1ql 查询进行分页。
我是aware of pagination 和OFFSET,但是指定起点和终点更有效。
我看到了关于 startkey_docid 的文档,但没有关于如何在 N1ql 中使用它。
如何在 N1ql 中使用光标或类似的东西进行分页?
【问题讨论】:
标签: couchbase n1ql database-cursor
我需要对 Couchbase N1ql 查询进行分页。
我是aware of pagination 和OFFSET,但是指定起点和终点更有效。
我看到了关于 startkey_docid 的文档,但没有关于如何在 N1ql 中使用它。
如何在 N1ql 中使用光标或类似的东西进行分页?
【问题讨论】:
标签: couchbase n1ql database-cursor
查看“键集分页”,这是一种通过利用索引而不是使用offset 来提高分页性能的通用技术。关于该主题的一篇常被引用的文章是 Markus Winand 的“We need tool support for keyset pagination”。
有关使用 N1QL 的 Couchbase 特定示例,请参阅 Keshav Murthy 的文章“Database Pagination: Using OFFSET and Keyset in N1QL”。
【讨论】:
startkey_docid 仅用于查看,不适用于 N1QL。
N1QL 不支持游标。在幕后,发送到查询引擎的每个查询都是一个单独的 HTTP 请求。查询之间根本没有连续性,因此不支持游标的概念。
【讨论】: