MongoDB Drop集合不释放磁盘空间的解决办法
短信预约 -IT技能 免费直播动态提醒
C:\Users\duansf>mongo
MongoDB shell version: 2.6.6
connecting to: test
> use test
switched to db test
> show collections
articles
books
chenfeng
dsf
fs.chunks
fs.files
system.indexes
system.profile
test
users
> db.books.drop();
true
>
删除books这个collection,但是查看数据文件发现大小不变,MongoDB不会自动释放文件空间
db.repairDatabase() //执行这个命令后,Mongodb会把不需要的空间释放出来
> db.repairDatabase()
{ "ok" : 1 }
>
注意:repairDatabase期间会产生锁,建议关闭应用后再进行此操作
官方文档对这个命令的解释如下:
repairDatabase requires free disk space equal to the size of your current data set plus 2 gigabytes. If the volume that holds dbpath lacks sufficient space,
you can mount a separate volume and use that for the repair. When mounting a separate volume for repairDatabase you must run repairDatabase from the command
line and use the --repairpath switch to specify the folder in which to store temporary repair files.
MongoDB shell version: 2.6.6
connecting to: test
> use test
switched to db test
> show collections
articles
books
chenfeng
dsf
fs.chunks
fs.files
system.indexes
system.profile
test
users
> db.books.drop();
true
>
删除books这个collection,但是查看数据文件发现大小不变,MongoDB不会自动释放文件空间
db.repairDatabase() //执行这个命令后,Mongodb会把不需要的空间释放出来
> db.repairDatabase()
{ "ok" : 1 }
>
注意:repairDatabase期间会产生锁,建议关闭应用后再进行此操作
官方文档对这个命令的解释如下:
repairDatabase requires free disk space equal to the size of your current data set plus 2 gigabytes. If the volume that holds dbpath lacks sufficient space,
you can mount a separate volume and use that for the repair. When mounting a separate volume for repairDatabase you must run repairDatabase from the command
line and use the --repairpath switch to specify the folder in which to store temporary repair files.
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341