日期:2014-05-16 浏览次数:20370 次
默认请款下?ensureIndex()?操作是阻塞的, 以及在操作完成之前,会屏蔽数据库所有的操作。1.3.2+, 增加了后台索引参数。 如果要在后台来创建索引,可以添加background:true?。 例子: > db.things.ensureIndex({x:1}, {background:true});
> db.things.ensureIndex({name:1}, {background:true, unique:true,... dropDups:true}); 如果background开启状态,在创建索引的时候,包括写操作都不会被阻塞。在索引创建完成之前,查询还是不能应用索引。 虽然索引操作在后台,可以进行其他的数据库并发操作,但是在shell中,如果索引不完成也不会返回任何的提示。如果要做其他数据库操作在打开一个新的shell。
免责声明: 本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
|