为什么删除文档后mongodb数据库占用更多空间
在我删除数据之前,数据库占用25.5G空间,有413562171个文档 然后,我执行以下操作: db.collectionName.remove({xxx:xxx}) 此操作删除165540416个文档,数据库占用25.8G为什么删除文档后mongodb数据库占用更多空间,mongodb,Mongodb,在我删除数据之前,数据库占用25.5G空间,有413562171个文档 然后,我执行以下操作: db.collectionName.remove({xxx:xxx}) 此操作删除165540416个文档,数据库占用25.8G 我不明白为什么删除这么多数据后会占用更多空间。当您删除文档时,MongoDB不会自动释放空间(它假设此空间可以重新用于新文档) 您可以使用repairDatabase命令从mongo shell释放空间:asdb.repairDatabase();或者作为mongod--r
我不明白为什么删除这么多数据后会占用更多空间。当您删除文档时,MongoDB不会自动释放空间(它假设此空间可以重新用于新文档) 您可以使用
repairDatabase
命令从mongo shell释放空间:asdb.repairDatabase()
;或者作为mongod--repair
(以这种方式使用时,mongod不应该已经运行)
请考虑到repairDatabase需要的可用磁盘空间等于当前数据集的大小加上2 GB,并获得全局写锁,将阻止其他操作,直到完成
少量添加:
如果使用WiredTiger存储引擎,也可以使用compact
命令代替repairDatabase
WiredTiger存储引擎是MongoDB 3.2中启动的默认存储引擎