如果计数超过 30k,Azure cosmos db 不会显示 select count(1) 的正确值。或者如果总计数超过 100k。

Azure cosmosdb doesnt show proper value for select count(1) if count is more than 30k. Or if total count is more than 100k.

如果计数超过 30k,Azure cosmosdb 不会显示 select 计数 (1) 的正确值。或者如果总计数超过 100k。这是没有分区的。有什么办法可以得到正确的计数吗?我尝试将 max() 与此一起使用,但没有成功。

根据我的经验,您的错误是由于 RU 设置瓶颈造成的。 count 查询受分配给您的集合的 RU 数量的限制。您收到的结果将有一个延续令牌(即使在门户网站上)。

您可能有 2 个解决方案:

1.Surely,您可以提高 RUs 设置。

2.You 可以继续通过延续令牌寻找下一组结果并继续添加它,以便您获得总计数。(可能在 sdk 中)

我刚好将 30k 文档导入 database.Then 我尝试 运行 查询

select value count(1) from c 在查询资源管理器中。结果每页只显示全部文档的一部分。所以我需要通过单击 Next Page 按钮将它们全部添加。

当然,您可以通过延续令牌在 sdk 代码中执行此查询。

希望对你有帮助。