【问题标题】:ComsosDB index. Should I exclude itCosmos DB 索引。我应该排除它吗
【发布时间】:2019-06-04 14:38:54
【问题描述】:

在我的 SQL-CosmosDB 中,除了按分区键 + 按附加字段排序之外,我没有使用任何具有 WHERE 条件的查询(所以一个作为分区键和事件位置的 streamId,因为我使用 Cosmos 来存储我的聚合根)。

我想知道如果我只是从该集合中的索引中排除所有路径会发生什么,除了可能保留我用于排序的字段。

【问题讨论】:

  • 它会减少您的索引存储,可能还会为您节省一些 RU。请注意,如果您更改索引策略,它只会影响新记录
  • 您好,如果我的回答对您有帮助,请标记答案结束,谢谢。
  • @JayGong 我赞成 :)
  • @DraganB 您能否分享一个参考,其中说更改索引策略只会影响新记录? tnx

标签: azure-cosmosdb azure-cosmosdb-sqlapi


【解决方案1】:

Alexander,根据你的要求,我认为你可以考虑将索引模式设置为None。请参考link中的解释。

如果容器的索引策略设置为无,则索引是 在该容器上有效禁用。这通常在一个 容器用作纯键值存储,无需 二级索引。它还可以帮助加快批量插入 操作。

当然,如果您有特殊需要,您可以选择排除根路径来选择性地包含需要索引的路径。顺便说一句,正如@DraganB 在 cmets 中所提到的,更改索引策略仅影响新记录,您可以在此 link 中看到语句。所以最好一开始就深思熟虑。

【讨论】:

  • 我无法在给定链接上找到“更改索引策略仅影响新记录”的确认。我所看到的是“索引策略的更新触发了从旧索引到新索引的转换,这是在线和就地执行的”。旧索引 = 有关现有记录的数据。
  • @Jay Gong 我也想听听你从哪里得到这个声明从改变索引策略只影响新文档? tnx
猜你喜欢
  • 2019-01-23
  • 1970-01-01
  • 2022-01-26
  • 2020-03-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-06
  • 2013-01-03
  • 2012-02-14
相关资源
最近更新 更多