当前位置:  开发笔记 > 编程语言 > 正文

在按文档ID检索时是否需要分区键

如何解决《在按文档ID检索时是否需要分区键》经验,为你挑选了1个好方法。

是否可以通过其ID检索文档而无需指定分区键?

我从阅读文档中了解到,当未指定分区键时,查询将在所有分区中扇出:

以下查询在分区键(DeviceId)上没有过滤器,并且会分散到针对分区索引执行它的所有分区.请注意,您必须指定EnableCrossPartitionQuery(REST API中的x-ms-documentdb-query-enablecrosspartition)以使SDK跨分区执行查询.

这对于非键属性是有意义的,但鉴于ID是专门处理的,我希望我不需要为它启用跨分区查询.

如果我确实需要启用跨分区查询,这会是一个昂贵的操作吗?



1> Aravind Kris..:

只通过ID查询将是一个跨分区操作.您应该在这些查询中包含分区键FeedOptions.PartitionKey,或者作为过滤器的一部分.在DocumentDB中,ID 在集合中的所有文档中都不是唯一的.相反,"分区键"和"id"的组合是主键,并且唯一地标识集合中的文档.

某些应用程序将分区键编码为ID的一部分,例如,分区键是客户ID,ID = "customer_id.order_id",因此您可以从ID值中提取分区键.

推荐阅读
U友50081205_653
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有