在MongoDB中删除大集合的最佳方法

时间:2018-04-10 12:39:42

标签: mongodb

我有独立的MongoDB实例版本3.2。存储引擎为WiredTiger。将大集合(> 500Gb)丢弃到最小化独占数据库锁定时间的最佳方法是什么? 2解决方案会有时间差吗?

  • 从集合,删除索引,删除集合中删除所有文档
  • 只需删除收藏

其他信息,可能很重要:

  • 集合包含约200.000.000个文档
  • 集合只有_id
  • 的一个索引
  • ' _id'看起来像{_id : {day: "2018-01-01", key :"someuniquekeybyday"}}

1 个答案:

答案 0 :(得分:1)

正确答案可能是:"掉落操作不是线性的"。 10Gb集合需要几秒钟,500Gb集合需要几乎相同的时间。

我多次删除1TB收藏,花了几秒钟。

P.S。为您提供一些新的内容,而不是在评论中看到:您有第三种选择 - 在此数据库中复制其他集合,然后在您的应用程序中切换数据库。