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

dri*_*iAn 5 database-performance azure-cosmosdb azure-cosmosdb-sqlapi

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

SELECT * FROM Core c WHERE c.id = @id -- @id is a GUID
Run Code Online (Sandbox Code Playgroud)

相比之下,以下更复杂的查询仅收费6.84 RU

SELECT TOP 10 * FROM Core c WHERE c.type = "Agent"
Run Code Online (Sandbox Code Playgroud)

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

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

这怎么可能以及如何解决?

更新:

  • 如果没有 TOP 关键字,第二个查询将收取 3516.35 RU 并返回 100000 条记录。
  • 分区键是“/partition”,其值为0或1(均匀分布)。

dri*_*iAn 1

我假设解决方案与此处发布的相同: Azure DocumentDB Query by Id is very Slow

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