MongoDB 1.6允许定义
indexes to be run as background operations.
后台索引似乎有点慢,但不阻止其他写入/读取操作,因此当您需要在已经填充一些数据的
数据库上创建索引时,它们似乎是最佳选择.
然而,即使使用空集合,后台索引也可以让您在将来重新索引您的集合,而不用担心并发请求.
乍一看,我没有看到使用旧索引超过后台索引的任何真正优势.然而,由于MongoDB背景索引不是默认选项,我想知道是否有没有考虑的权衡.
在MongoDB中优选使用标准索引而不是背景索引.
Background indexes seems to be a little slower,
我认为这是关键的权衡.在某些情况下,背景指数会慢很多.很容易想象一个DB写足够的数据,索引创建需要几个小时或几天才能赶上.
如果是这种情况,您通常必须找到一种方法来“排队”您的写作,直到完成.但是在这段时间内能够“锁定”写入是一个很好的功能.