GET 与查询 Cosmos DB 中的分区键和项目键

GET vs Query on Partition Key and Item Key in Cosmos DB

我在 best practices for query performance 上阅读 Cosmos DB 文档,发现以下内容不明确:

With Azure Cosmos DB, typically queries perform in the following order from fastest/most efficient to slower/less efficient.

  • GET on a single partition key and item key
  • Query with a filter clause on a single partition key
  • Query without an equality or range filter clause on any property
  • Query without filters

"GET on a single partition key and item key" 和 "QUERY on a single partition key and item key" 之间的性能或 RU 是否存在差异。我不完全清楚这属于案例 #1 还是案例 #2 还是介于两者之间。

基本上,我是在问我们是否需要使用 GET。文档似乎没有在任何地方阐明这一点。

直接 GET 会更快。如文档所述,一个 1K 的文档应该花费 1 RU 来检索。当您使用查询引擎时,查询的 RU 成本会更高。

一个警告:使用直接读取 (GET),您将检索整个文档。通过查询,您可以选择属性的投影。对于非常大的文档,这可能会在使用查询时为您的应用节省大量带宽。