【问题标题】:Disable primary key index in MongoDB and enable it after bulk insterting?禁用MongoDB中的主键索引并在批量插入后启用它?
【发布时间】:2013-11-03 22:02:10
【问题描述】:

是否可以在 MongoDB 中禁用主键索引并在批量插入后启用它? 原因是大容量插入期间的性能。 我正在使用 JAVA。

【问题讨论】:

  • _id 字段的性能应该可以忽略不计,索引在数量众多或复杂时会成为问题,这个单一的 _id 索引不会减慢您的插入速度
  • 正如 Sammaye 所说,我怀疑问题出在索引上。你的插入代码是什么样的?您能否提供批量插入运行期间的 mongostat 输出?

标签: java performance mongodb bulkinsert


【解决方案1】:

不,您不能删除 _id 索引。见official documentation

db.collection.dropIndex(index)

从集合中删除或删除指定的索引。 db.collection.dropIndex() 方法为 dropIndexes 命令提供了一个包装器。

注意

您不能删除 _id 字段上的默认索引。

【讨论】:

    【解决方案2】:

    除了 zero323 提到的之外,即使您正在执行批量插入,在已填充的集合上禁用/启用 idex 也不总是一个好主意。

    一开始您必须删除之前存在的所有索引,插入数据,然后为之前的数据以及刚刚通过批量插入添加的数据重做索引的原因。

    【讨论】:

      猜你喜欢
      • 2011-02-26
      • 2017-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多