CosmosDB带分区键范围过滤的查询是否仅路由指定分区?
CosmosDB 分区键范围过滤的查询路由行为
当你的查询对分区键字段使用范围过滤(比如示例中的条件)时,CosmosDB会将查询路由到该范围对应的分区,而非所有分区。
具体逻辑如下:
- CosmosDB基于分区键的哈希值将数据分配到物理分区,但它能识别分区键范围对应的哈希区间
- 针对你的范围查询,系统会先计算出
"123"到"456"这个字符串范围对应的哈希区间,然后仅将查询发送到覆盖该哈希区间的物理分区 - 只有当查询未指定分区键条件,或者使用了无法确定明确分区范围的条件时,才会触发全分区扫描
你的示例查询代码:
select * from c where c.partition_key_field >= "123" and c.partition_key_field <= "456"
内容的提问来源于stack exchange,提问作者curiousguy_08
相关产品推荐
相关产品推荐

