• 3 关注
  • 0 收藏,0 浏览
0

mongo数据变大之后,删除不需要的表和数据之后,内存和磁盘空间都没有释放。如何释放空间

0 个回答

0
five3 34 于 2019-04-22 23:09:52 回答

这是mongo机制,只有删除数据库时才会回收相应的空间,否则会保留申请的空间,以备后续新增数据时使用。 那么如果希望能删除表和数据后能相应的回收空间,则可以有如下几个方法:(前提是先删除指定数据)

  • 备份该数据库,再恢复回去
  • 使用db.copyDatabase("db1","db2")命令复制一个新库,然后删除旧库再改下新库名字
  • 使用db.repairDatabase()修复

这三种方式的套路都是一样的,即对于删除的数据,在备份、复制、修复时都不会带上的(也没有必要)。

撰写答案