何时首选使用标准索引而不是MongoDB中的背景索引?

时间:2010-10-06 14:30:25

标签: mongodb indexing database

MongoDB 1.6允许定义indexes to be run as background operations。后台索引似乎有点慢,但不会阻止其他写/读操作,因此当您需要在已填充某些数据的数据库上创建索引时,它们似乎是最佳选择。

但是,即使使用空集合,后台索引也允许您在将来重新索引集合,而不必担心并发请求。

乍一看,我没有看到使用传统索引优于背景索引的任何真正优势。但是,因为MongoDB后台索引不是默认选项,所以我想知道是否有任何权衡,我没有考虑过。

何时首选使用标准索引而不是MongoDB中的背景索引。

1 个答案:

答案 0 :(得分:3)

  

背景索引似乎有点慢,

我认为这是关键的权衡。在某些情况下,后台索引将更多,更慢。很容易想象一个具有足够写入的数据库,索引创建需要数小时或数天来赶上。

如果是这种情况,您通常必须找到一种方法来“排队”您的写入,直到您完成为止。但是能够在这段时间内“锁定”写入是一个很好的功能。