我创建了一个分区键为&#34; / countryId&#34; 的集合,因为当我使用SQL查询读取多个文档时,我指定 FeedOptions {EnableCrossPartitionQuery = true} < / strong>和查询如下
select * from collection c where (c.countryId=1 or c.countryId=2 or c.countryId=3)
我想知道内部执行的方式,我的意思是
我在where where条件中指定了countryId( partitionKey ),是否只为了获取文档而转到特定分区?
或
它将转到收集的所有分区并检查每个文档countryId( partitionkey )
先谢谢!!。
答案 0 :(得分:3)
DocumentDB查询将仅针对与过滤器匹配的分区执行,而不是所有分区:
countryId
,以及物理分区,以及分区键哈希的范围映射到哪些物理分区。