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

时间:2019-02-06 03:55:58

标签: azure azure-cosmosdb azure-cosmosdb-sqlapi

我正在阅读best practices for query performance上的Cosmos DB文档,发现以下模棱两可的地方:

  

对于Azure Cosmos DB,查询通常按以下顺序执行   从最快/最高效到更慢/效率更低。

     
      
  • 获取单个分区键和项目键
  •   
  • 在单个分区键上使用filter子句查询
  •   
  • 在任何属性上均不包含相等或范围过滤器子句的查询
  •   
  • 不带过滤器的查询
  •   

“在单个分区键和项目密钥上获取”和“在单个分区键和项目密钥上查询”之间是否存在性能或RU的差异。我不清楚这是属于案例1还是案例2,还是介于两者之间。

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

1 个答案:

答案 0 :(得分:4)

直接GET将更快。如记录所示,检索1K文档应花费1 RU。使用查询引擎时,查询的RU费用会更高。

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