【发布时间】:2015-10-14 08:55:00
【问题描述】:
我正在使用 FeedOption MaxItemCount 和 IDocumentQuery<T>::ExecuteNextAsync<T>() 查询 Azure DocumentDB 集合以设置“页面”大小。当使用较小的值(例如
但是,当我使用较大的 MaxItemCount 值(例如 500)执行时,我会返回各种结果,但不会超过 MaxItemCount。
现在,我很欣赏 MaxItemCount 是“最大项目数”,但我从文献中了解到边界因素是集合中的对象数量。其他东西显然限制了我的结果,我们也可以在 Azure 门户的文档资源管理器和查询资源管理器工具中看到相同的行为。
集合设置为“S3”,应支持 2500RU,查询资源管理器显示“成本”小于 100RU。
有人知道这里发生了什么吗?是什么限制了我的结果集?
【问题讨论】:
-
你能提供一个重复问题的最小例子吗?
-
限制结果的三个因素:(1) 最大响应大小为 1 MB。如果达到此值,则批处理 (2) 集合的吞吐量中不再包含更多结果。如果您达到基于 S1/S2/S3 的预置限制(带有一些缓冲区),您可能会获得少于批次和 (3) 如果您
-
@LarryMaccherone 不容易。这是服务的基础。创建一个集合。将您喜欢的任何内容放入其中 - 大量具有大量属性的文档。索要 1000 页,得到的少。将您的查询限制为少于所有字段,获取更多行。最终,您可以将查询限制为获得所有 1000 行。
-
@AravindRamachandran 和 (3) ???我们确实怀疑 1MB 的限制(尽管我在任何地方都找不到记录),但至少有一次我们收到了 12MB 的响应,这让我们有点吃惊。
-
...达到 5 秒的时间限制 - 如果您的查询是扫描,则可能会发生这种情况,例如,如果您有 Property != Value。就像拉里提到的那样,如果您可以提供更多详细信息,我们可以准确地说明适用于您的特定场景的内容。
标签: azure azure-cosmosdb