【问题标题】:Does using a partial index over a regular field index affect overall insert performance for mongo collections?在常规字段索引上使用部分索引是否会影响 mongo 集合的整体插入性能?
【发布时间】:2017-01-11 01:15:37
【问题描述】:

我想实现一个部分索引,该索引为我的集合中的文档子集编制索引,其中该子集中的文档包含未在该子集之外的其他文档中使用的共享字段。将此共享字段称为“subset_field”。

我知道使用部分索引会减少内存中索引的大小,但是当我想插入没有共享“subset_field”的新文档时,部分索引会减慢插入操作的速度吗?常规字段索引会?

【问题讨论】:

  • 感谢您指出这一点,自 2010 年以来使用 mongodb 我倾向于错过新功能:(

标签: mongodb


【解决方案1】:

documentation on partial indexes 只提到了关于唯一字段的插入:

如果文档不满足过滤条件,具有唯一约束的部分索引不会阻止插入不满足唯一约束的文档。

但是Write Op Performance 上的文档确实有一个很大的说明

如果写入操作所涉及的文档包含在索引中,MongoDB 只会更新稀疏或部分索引。

因此,部分索引用于检查它是否适用于文档,但如果不适用,则跳过索引更新,从而提高性能。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-24
    • 1970-01-01
    • 2010-11-30
    • 2021-01-29
    • 2015-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多