gpt4 book ai didi

azure - DocumentDB 使用 EnableCrossPartitionQuery 设置 True 对特定集合进行搜索?

转载 作者:行者123 更新时间:2023-12-02 23:32:07 32 4
gpt4 key购买 nike

我创建了一个分区键为 "/countryId" 的集合,因为当我使用 SQL 查询读取多个文档时,我指定了 FeedOptions { EnableCrossPartitionQuery = true } 并查询就像下面这样

从集合 c 中选择 *,其中(c.countryId=1 或 c.countryId=2 或 c.countryId=3)

我想知道内部是如何执行的

我在where条件下指定了countryId(partitionKey),它只会去该特定分区获取文档吗?

它将转到集合的所有分区并检查每个文档的countryId(partitionkey)

提前致谢!!.

最佳答案

DocumentDB 查询将仅针对与过滤器匹配的分区执行,而不是针对所有分区:

  1. DocumentDB SDK/网关将检索集合的分区键元数据,并知道分区键是 countryId,以及物理分区,以及分区键哈希值映射到的范围物理分区。
  2. 在查询执行期间,SDK/网关将解析 SQL 查询并检测是否存在针对分区键的过滤器。它将散列值,根据其拥有的分区键范围找到匹配的分区。例如,国家 1、2 和 3 可能全部位于一个物理分区中,也可能位于三个不同的分区中。
  3. SDK/网关将根据配置的并行度串行或并行执行查询。如果需要任何后处理(如 ORDER BY 或聚合),则将由 SDK/网关执行。

关于azure - DocumentDB 使用 EnableCrossPartitionQuery 设置 True 对特定集合进行搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43574963/

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