gpt4 book ai didi

azure-cosmosdb - 宇宙数据库 SQL; Feed 选项上的分区键与分区键上的查询?

转载 作者:行者123 更新时间:2023-12-03 08:57:09 25 4
gpt4 key购买 nike

在 .net core sdk FeedOptions 中提供分区键与将其作为查询条件有什么区别?例如,如果您想列出给定分区键中的所有项目。您应该在条件中使用提要选项还是分区键?

条件中的分区键

SELECT * FROM c where c.PartitionKey = "some partition key"

.net core 与 feedoptions

var allDocs = await (from d in client.CreateDocumentQuery<Document>(UriFactory.CreateDocumentCollectionUri(databaseId, "TestCollection"), 
new FeedOptions { PartitionKey = new PartitionKey("some partition key") })
select d)
.AsDocumentQuery<Document>().ExecuteNextAsync<Document>();

当我创建自定义索引策略(其中分区键被排除在索引之外)时出现了问题。因此,在查看 RU/s 成本时,它似乎在排除时进行扫描,而不是在使用默认索引策略时进行索引查找。

这是否意味着,如果您需要跨分区查询,则需要对分区键建立索引,如果您只需要在给定分区键内查询,则可以排除它 - 假设您在 FeedOptions 中给出分区键?

最佳答案

我来自 CosmosDB 工程团队。

您的帖子中提出了两个相互正交的问题:

  1. 我们是否在 feedOptions 或查询中指定 PartitionKey?

这应该不重要。在 FeedOptions 或查询本身中指定它将有助于它路由到正确的分区以执行。

  • 我们是否需要将分区键添加到索引策略中以实现高效的查询执行?
  • 您应该始终将分区键添加到索引策略中。这可确保在查询执行期间,利用索引来选择查询中指定的分区键的文档。

    关于azure-cosmosdb - 宇宙数据库 SQL; Feed 选项上的分区键与分区键上的查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54447196/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com