代码之家  ›  专栏  ›  技术社区  ›  Simone Carletti

在MongoDB中,什么时候最好使用标准索引而不是背景索引?

  •  10
  • Simone Carletti  · 技术社区  · 15 年前

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

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

    乍一看,我不认为使用遗留索引比使用后台索引有任何真正的优势。但是,由于MongoDB后台索引不是默认选项,所以我想知道是否存在我没有考虑过的权衡。

    在MongoDB中,当首选使用标准索引而不是背景索引时。

    1 回复  |  直到 15 年前
        1
  •  3
  •   Gates VP    15 年前

    背景索引似乎有点慢,

    我认为这是关键的权衡。在某些情况下,后台索引将 非常多 更慢的。很容易想象一个具有足够的写操作的数据库,索引的创建需要数小时或数天的时间才能完成。

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