代码之家  ›  专栏  ›  技术社区  ›  drs9222

使用SQL API对cosmos数据库结果进行分页的最具性能和可扩展性的方法是什么

  •  0
  • drs9222  · 技术社区  · 4 年前

    我有更多的问题基于 this question and answer ,它现在已经相当古老了,但似乎仍然准确。

    在许多情况下,将结果存储在内存中的建议似乎是有问题的。

    • 一个最终用户未锁定到特定服务器的web场。
    • 非常大的结果集。
    • 具有许多不同用户和查询的较小结果集。

    根据我到目前为止读到的内容,我看到了几种处理分页的方法。

    • 使用 OFFSET LIMIT 以潜在的高RU成本。
    • 考虑到扩展问题,使用连续令牌和缓存。
    • 保存延续令牌本身以返回上一页。
      • 这可能会变得复杂,因为令牌和页面之间可能没有一对一的关系。

        请参阅 Understanding Query Executions

        此外,查询引擎可能需要将查询结果拆分为多个页面还有其他原因。这些措施包括:

        • 容器被限制,没有可用的RU来返回更多查询结果
        • 查询执行的响应太大
        • 查询执行的时间太长
        • 查询引擎在额外的执行中返回结果更有效

    还有其他可能更新的分页选项吗?

    0 回复  |  直到 4 年前