DocumentDB是否提供自动索引?

时间:2016-07-24 06:27:39

标签: azure azure-cosmosdb

documentDB的文档建议它在这里提供自动索引: https://azure.microsoft.com/en-us/documentation/articles/documentdb-indexing/

但是它的示例代码(在azure portal上)显示了手动索引策略创建,如下所示:

Pair

如果documentDB提供自动索引,那么为什么我需要再次手动创建索引策略呢?

2 个答案:

答案 0 :(得分:1)

每个字段都有一个默认的3字节哈希索引。您可以使用索引策略设置覆盖特定字段/类型的索引策略。如果您想要范围索引或者您想要更改索引的精度,则可以使用策略执行此操作。您需要在要使用ORDER BY的任何字段中设置范围索引以及其他常见用途。所以,是的,这两种说法都是正确的。它提供自动索引,但您也可以指定索引。

答案 1 :(得分:1)

是的,DocumentDB提供了模式无关的自动索引 - 暗示每个文档的所有路径都是一致索引的,跨文档中的任何类型的模式更改。

请注意,默认策略设置为索引具有完全保真度范围支持的数字,而字符串则使用哈希函数编制索引。选择这些默认值是为了以最小的存储开销提供引人注目的查询性能。

索引策略可供用户覆盖以下情况的默认行为 -

  1. 选择索引中的任何特定路径,作为排除路径的一部分。这有助于减少写入路径中产生的RU电荷,并且根据排除的路径数量,这也可以带来存储增益。

  2. 在选定的包含索引路径上调整索引类型(散列/范围/空间)和索引的精度(更高的精度意味着更好的查询性能和略微增加的存储成本)。

  3. 索引政策的全部细节在这里

    https://azure.microsoft.com/en-us/documentation/articles/documentdb-indexing-policies/