Azure 获取Cosmos数据库中分区键和项键的vs查询
我在网上阅读Cosmos DB文档,发现以下内容模棱两可: 对于Azure Cosmos DB,查询通常按以下顺序执行 从最快/效率最高到较慢/效率较低Azure 获取Cosmos数据库中分区键和项键的vs查询,azure,azure-cosmosdb,azure-cosmosdb-sqlapi,Azure,Azure Cosmosdb,Azure Cosmosdb Sqlapi,我在网上阅读Cosmos DB文档,发现以下内容模棱两可: 对于Azure Cosmos DB,查询通常按以下顺序执行 从最快/效率最高到较慢/效率较低 使用单个分区键和项键 在单个分区键上使用筛选子句进行查询 在任何属性上没有相等或范围筛选器子句的查询 不带过滤器的查询 “获取单个分区键和项键”与“查询单个分区键和项键”之间的性能或RU是否存在差异。我不完全清楚这是属于案例1还是案例2,或者介于两者之间 基本上,我是在问我们是否需要使用GET。文档似乎没有在任何地方阐明这一点。直接获取会更
- 使用单个分区键和项键
- 在单个分区键上使用筛选子句进行查询
- 在任何属性上没有相等或范围筛选器子句的查询
- 不带过滤器的查询
基本上,我是在问我们是否需要使用GET。文档似乎没有在任何地方阐明这一点。直接获取会更快。如文件所述,检索1K文档需要花费1RU。当您使用查询引擎时,查询的RU成本会更高
一个警告:通过直接读取(GET),您将检索整个文档。通过查询,可以选择属性的投影。对于非常大的文档,在使用查询时,这可能会大大节省应用程序的带宽。直接获取会更快。如文件所述,检索1K文档需要花费1RU。当您使用查询引擎时,查询的RU成本会更高
一个警告:通过直接读取(GET),您将检索整个文档。通过查询,可以选择属性的投影。对于非常大的文档,在使用查询时,这可能会大大节省应用程序的带宽。这是一个很好的解释。顺便说一句,我最终在文档中找到了一条关于这一点的声明:“读取资源是从数据库获取资源的最有效方法。如果您知道资源的ID,请执行读取而不是按ID进行查询“()”这是一个很好的解释。顺便说一句,我最终在文档中找到了一条关于这一点的声明:“读取资源是从数据库获取资源的最有效的方法。如果您知道资源的ID,请执行读取操作,而不是按ID“()