OPTIONS
翻译或纠错本页面

在后台创建索引

默认地,MongoDB在前台创建索引。在索引创建期间这会阻塞对数据库的所有读写操作。而且,任何需要所有数据库的读/写锁的操作都无法在索引创建期间执行。

但是 在后台创建索引 允许在索引创建期间继续执行读和写操作。

参见

参见 索引概念索引教程 了解更多。

注意事项

和前台创建的方式想比,在后台创建索引会需要更多的时间且会导致生成更大或者更不紧凑的索引。随着时间推移,后台创建的索引的紧凑性会接近前台创建的索引。

当MongoDB结束创建索引,后台创建的索引和其他索引功能上一样。

步骤

如果希望创建一个在后台创建的索引,往 ensureIndex() 操作中添加 background 选项,如下索引所示:

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

可以参考 background index construction 一节了解这个索引的更多信息和牵连影响。