You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Cosmos DB中带ENDSWITH操作符的分层分区查询路由问题

问题

我在Azure Cosmos容器中配置了分层分区键,将id设为根分区键,userId设为分层分区键。现执行包含ENDSWITH操作符的如下查询,请问该查询是否会路由到单个逻辑分区和物理分区?
查询语句:

SELECT c.id, c.userId FROM c WHERE c.id = 'users' AND (ENDSWITH(c.userId,'60000000') OR ENDSWITH(c.userId,'7760000000'))
回答
  • 逻辑分区:会路由到单个逻辑分区。因为查询中明确指定了根分区键id的精确匹配条件c.id = 'users',Azure Cosmos里根分区键的取值直接定义逻辑分区——所有id='users'的文档都归属于同一个逻辑分区,对userId的ENDSWITH筛选只是在这个逻辑分区内部做的过滤,不会跨逻辑分区扫描。
  • 物理分区:会路由到单个物理分区。逻辑分区是通过根分区键的哈希值映射到物理分区的,同一个根分区键值对应的逻辑分区只会存在于某一个物理分区中,所以这个查询只会被路由到承载id='users'逻辑分区的那一个物理分区。

内容的提问来源于stack exchange,提问作者Sumchans

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 00:43:17