Azure Cosmos DB 中非常简单的查询的高请求费用 (SQL API)

High request-charge for very simple query in Azure Cosmos DB (SQL API)

在 Azure Cosmos DB (SQL API) 中,以下查询收费 9356.66 RU's:

SELECT * FROM Core c WHERE c.id = @id -- @id is a GUID

相比之下更复杂的查询只收取6.84RU的:

SELECT TOP 10 * FROM Core c WHERE c.type = "Agent"

两个示例中的文档都非常小,具有一些属性。此外,文档集合不使用任何自定义索引策略。该集合包含 105685 个文档。

对我来说,这听起来好像 "id" 字段上没有正常工作的索引。

这怎么可能,如何解决?

更新:

如果你有分区集合,你需要指定分区键,如果你想最有效地做请求。跨分区查询在 cosmos 中非常昂贵(而且更慢),因为分区数据可以存储在不同的地方。

尝试以下操作:

SELECT * FROM Core c WHERE c.id = @id AND c.partition = @partition

或者,如果您使用的是 CosmosDB SDK,请在提要选项中指定分区键。

如果有帮助,请告诉我。

我假设解决方案与此处发布的相同:

一旦我能够通过 Microsoft 支持验证这一点,我将关闭我自己的问题。