如何在更新大集合时禁用mongodb索引

时间:2015-10-09 06:28:30

标签: mongodb indexing mongodb-query

我的要求是将数组字段更新或添加到大型集合中。我已经提交过" Roles"的索引。在更新这个系列时,它正在花费3个小时..在创建索引"角色"提交时,在集合中更新/添加文件的时间不到40秒。我们需要索引来读取集合。但是更新它会带来麻烦。是否可以在mongodb中更新时禁用索引.. mongo是否有任何功能?我的mongodb版本是2.6.5

请建议。

2 个答案:

答案 0 :(得分:2)

在Mongodb中,索引与插入/更新同步更新。无法暂停更新索引。

如果您的索引已经创建,那么您有两个选项

  1. 删除索引并重新创建索引,但会产生以下影响

    1. 在插入/更新发生时执行的查询将丢失索引。
    2. 重建索引太贵了
  2. 等待索引更新

答案 1 :(得分:1)

Queries will not use partially-built indexes: the index will only be usable once the index build is complete.

来源:http://docs.mongodb.org/manual/core/index-creation/

这意味着只要索引不完整,您的索引就会阻止对字段/集合的任何查询。因此,您无法在添加新数据后等待索引更新。

也许尝试使用其他索引。