详解MongoDB的Compact操作(转)ITeye - 超凡娱乐

详解MongoDB的Compact操作(转)ITeye

2019年03月14日12时21分59秒 | 作者: 平卉 | 标签: 操作,紧缩,指令 | 浏览: 1210

 2.0 正式版现已发布了,详细改善能够参阅本站之前的,2.0中的一点改善是供给了一个紧缩指令Compact,此指令支撑针对单个Collection的紧缩。下面咱们就讲一讲Compact指令的一些常识。

在曩昔,咱们只能经过()指令来对数据进行紧缩,而repairDatabase()指令只能对整个DB进行紧缩,新的紧缩指令( command)能够针对单个Collection别离进行紧缩,其优点是清楚明了的。

由于只紧缩需求的Collection,所以紧缩期间发生的临时文件会小许多 紧缩会去除Collection地点文件的碎片 相同,其重建索引的价值也变小了,对内存的需求也就变小了

详细用法:

 db.yourCollection.runCommand("compact");
 db.runCommand({ compact : yourCollection });

关于compact指令,有两点需求留意:

Compact操作进行中,会blocks掉一切在当时Collection上的操作,所以Compact操作最好在事务轻视的时分进行。 你能够在一个Replica Sets的secondary进步行数据紧缩,不过在紧缩过程中,这个节点会变成不能效劳的recovery形式。 运转Compact操作后,当时Collection的Padding Factor会变成1,后续假如有使数据变长的更新操作,或许会在一段时间内比较慢。 Capped Collection是不能进行Compact操作的,原因嘛,由于Capped Collection自身就没有碎片存在。

这里有一个,供给对Primary节点的紧缩,主动完成了stepDown,紧缩操作。

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表超凡娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章