MongoDB compact 命令详解

张友东 2019-07-17

数据存储与数据库 MongoDB wiredtiger DB file

为什么需要 compact

一图胜千言

compact

remove 与 drop 的区别

MongoDB 里删除一个集合里所有文档,有两种方式

  • db.collection.remove({}, {multi: true}),逐个文档从 btree 里删除,最后所有文档被删除,但文件物理空间不会被回收
  • db.collection.drop() 删除集合的物理文件,空间立即被回收

总的来说,remove 会产生逻辑的空闲空间,这些空间能立即用于写入新数据,但文件占用的总物理空间不会立即回收;通常只要持续在写入数据,有物理空间碎片问题并不大,不需要去 compact 集合,有的场景,remove 了大量的数据后,后续的写入可能并不多,这时如果想回收空间,就需要显式的调用 compact。

compact 命令对读写的影响

compact 一个集合,会加集合所在DB的

登录 后评论
下一篇
云栖号资讯小编
5570人浏览
2020-02-07
相关推荐
MongoDB如何释放空闲空间?
4524人浏览
2018-07-04 11:38:00
初探MongoDB
865人浏览
2019-08-24 15:47:54
mongodb的安装详解
385人浏览
2016-04-02 23:11:02
mongorocks引擎原理解析
8764人浏览
2016-12-19 17:00:46
Nodejs内存控制详解(上篇)
2622人浏览
2018-07-23 17:02:38
Dockerfile指令详解
1025人浏览
2018-07-25 11:09:00
MongoDB资料汇总
3790人浏览
2012-04-11 09:40:00
dream feature coming from mongodb 2.0
1166人浏览
2016-03-31 13:23:18
几种主流NoSQL数据库大比拼
7376人浏览
2018-08-21 16:53:28
Mongodb安装启动详解
524人浏览
2017-05-15 11:57:00
MongoDB killOp 案例详解
4957人浏览
2019-05-23 13:21:54
0
1
0
2856