Azure CosmosDB COUNT消耗大量RU / s(MongoDB)

时间:2019-06-05 23:41:22

标签: azure azure-cosmosdb

我有一个包含〜8000个文档的集合,我在应用程序中会分页。但是,我要获取总文档数(以计算页面数)的查询使我的RU / s配额大打折扣。

查找查询仅需大约3 RU / s,但要花一些时间才能执行...

对此有解决方案吗?

db.orders.count({"user": ObjectId("5ca51dc1234c0b21dcxxa12c")}})
Operation consumed 442.62 RUs
5958

2 个答案:

答案 0 :(得分:0)

它将搜索您容器中的所有分区,将分区键与查询一起传递以便于搜索,否则将必须遍历容器中的所有分区,这将导致大量RU。

>

答案 1 :(得分:0)

如果查找查询花费大量时间,请确保在此字段上有索引。目前,似乎已为每个字段自动添加了它们,因此这不成问题。

但是,根据我自己最近在Cosmos DB上的经验,如果count返回大量,那么它也会消耗很多RU。有关更多信息,请参见:https://stackoverflow.com/a/60512604/4619705