MongoDB的。后台索引和锁集合?

时间:2014-05-01 11:36:54

标签: mongodb

请告诉我是否使用背景索引

db.collection.ensureIndex({ a: 1 }, {background: true})

我的收藏品在几次插入时没有锁定?

1 个答案:

答案 0 :(得分:2)

在单个节点上的后台构建索引时,没有长期锁定。但是,在副本集上,您必须注意索引构建如何在副本集的不同节点上发生。

MongoDB v2.4或更低版本 - 在主副本上触发的后台构建导致在辅助副本上构建前台索引,并且将阻止对辅助副本的操作 - 为了避免在辅助节点上构建前台,建议在副本集中构建索引的方法是进行滚动索引构建。您可以在http://docs.mongodb.org/v2.4/tutorial/build-indexes-on-replica-sets/

找到有关它的更多详细信息

MongoDB 2.5或更高版本 在MongoDB(v2.6)的最新可用版本上,主副本上的后台索引构建也将在辅助副本上显示为背景。

除锁定外,索引构建是RAM / CPU /磁盘密集型操作,对这些资源的压力可能因数据集而异。我建议在生产环境中相对安静的时间进行索引构建。