Azure cosmosdb 索引合成分区键

Azure cosmosdb 索引合成分区键,azure-cosmosdb,Azure Cosmosdb,我有一个使用/pk的Cosmos容器,其中的值仅用于分区,而从不在查询子句中使用。考虑到该值作为所有操作的分区键提供,是否有任何理由不将该路径从索引中排除?根据定义,似乎应该将其从索引中排除,但不确定分区和索引是否以某种方式相互作用。您应该始终在查询中包含分区键,因为where子句中没有分区键的查询将是扇形的,您确实应该尽量避免 还建议将分区键保留在索引中。有不少人对此感到困惑。我们将很快开始自动为它编制索引,即使您将其排除在外,这样人们就不会因为没有为它编制索引而痛苦。您无论如何都不应该这样做

我有一个使用
/pk
的Cosmos容器,其中的值仅用于分区,而从不在查询子句中使用。考虑到该值作为所有操作的分区键提供,是否有任何理由不将该路径从索引中排除?根据定义,似乎应该将其从索引中排除,但不确定分区和索引是否以某种方式相互作用。

您应该始终在查询中包含分区键,因为where子句中没有分区键的查询将是扇形的,您确实应该尽量避免


还建议将分区键保留在索引中。有不少人对此感到困惑。我们将很快开始自动为它编制索引,即使您将其排除在外,这样人们就不会因为没有为它编制索引而痛苦。

您无论如何都不应该这样做,因为根据定义,您的所有查询都将是扇形的,您真的应该尽量避免。您有什么理由要这样做吗?即使在读取/查询操作中提供了分区键,它们也会散开?只是在排除不需要的字段以减少写入RU的过程中探索这一点。通过排除pk,我看到创建成本有了小幅度但相当可观的降低。不,如果包含分区键,它将不会扇出。但是您仍然需要在索引中保留/pk。事实上,因为很多人对此并不清楚。我们将很快开始自动索引它,即使您排除它。很高兴知道,感谢您澄清标记。请随时将评论移至回答,以便我们可以标记此内容以供将来参考。