DocumentDB COUNT不一致的结果

时间:2017-03-08 21:40:15

标签: azure azure-cosmosdb

我一直在使用刚刚发布的DocumentDB中的COUNT聚合尝试一些查询。即使我多次运行完全相同的查询,我也会经常得到不同的结果。我知道我的数据没有改变。是否存在聚合函数的错误,我是否可以达到我的RU限制,并且只返回符合我的RU数量的计数,或者是否正在进行其他操作?

我的查询如下:

Select COUNT(c.id) FROM c WHERE Array_Contains(c.Property, "SomethingIAmSearchingFor")

我的收藏包含大约12k个非常小的文档(每个文档有3个或4个字符串属性,一个包含少于10个字符串项的数组)

1 个答案:

答案 0 :(得分:6)

在DocumentDB中,聚合函数分布在1-N个分区中,并且基于可用的RU(如猜测)在块/页中执行的每个分区内。 SDK获取部分聚合并返回最终结果(例如,每个结果的计数总和)。

如果您运行查询以完成,即使单个部分执行返回不同的结果,您也将始终获得相同的聚合结果。

在门户网站中使用"加载更多→"链接以获取下一部分的计数。您需要手动记录到目前为止显示的计数,并将它们相加以得到最终的聚合计数。