利用索引获取Cosmos DB中的记录总数

时间:2018-08-20 06:59:18

标签: nosql azure-cosmosdb

我需要检索按某些列过滤的集合的总数。收集量为50万条记录。下面给出的查询用于检索集合中可用记录的总数。 SELECT COUNT(1) FROM c where c.Column1 IN ('Data2')。在这里,此查询从具有连续令牌的多个集合中检索数据。这会延迟总计数结果。有人可以告诉我是否可以使用索引来增加查询性能而不增加RU吗?

1 个答案:

答案 0 :(得分:1)

  

有人可以让我知道是否可以使用索引来增加   查询性能而不增加RU?

我不得不说没有提高RUs设置而不提高查询性能的简便方法。如果是这样,则RUs设置将变得毫无意义。

据我所知,您可以考虑从以下三个方面改善性能:

分区

您可以在数据库中设置分区键,并在单个分区键上使用filter子句查询,这样它需要的等待时间较短,消耗的RU较低。

吞吐量

您可以将吞吐量设置得更大一些,以便大大提高单位时间内的Azure Cosmos DB性能。当然,这将导致更高的成本。

索引政策

使用索引路径可以提高性能并降低延迟。但是,您的查询属性没有任何子属性。因此,我认为默认索引就可以了。

有关更多详细信息,建议您参考official performance documentation

希望它对您有帮助。