设置相关索引时,MongoDB更新速度较慢

时间:2015-04-20 12:56:39

标签: mongodb indexing sharding

我正在测试一个用于分片设置的小例子,我注意到在索引搜索字段时更新嵌入字段的速度会变慢。

我知道索引在插入期间会更新,但查询的搜索索引是否也会更新?

更新的查询和更新的字段与任何方式无关。

e.g。 (用玩具数据测试):

{

 id:... (sharded on the id)

 embedded :[{ 'a':..,'b':...,'c':.... (indexed on a,b,c),

               data:.... (data is what gets updated)
            },
            ...
           ]

}

在上面的示例中,更新的查询位于a,b,c 并且更新的值仅影响数据。

我能想到的唯一原因是即使更新不在索引字段上,索引也会更新。更新的搜索部分似乎在使用explain发布“查找”查询时使用索引。

还有其他原因吗?

1 个答案:

答案 0 :(得分:0)

我认为wdberkeley - 评论 - 给出了最好的解释。 文档移动是因为它变大了并且索引每次都更新。 正如他还指出的那样,更新多个键是“糟糕的”....我认为我现在会避免这种设计。