MongoDB碎片整理之compact详解

MongoDB版本:2.4.10 和2.6.5

comoact命令可以压缩单个集合和它的索引。以前压缩数据库的唯一办法就是执行这个数据库的repair!
这个命令类似与Oracle的去高水位线!
具体用法:
>use testdb
> db.myCollection.runCommand('compact');
> db.runCommand({ compact : 'myCollection' });
压缩比率截图:

MongoDB碎片整理之compact详解_第1张图片

压缩比率=348160/1044480*100%=33%

compact优点:

1.compact只压缩需要的Collection,压缩期间产生的临时文件会就相对较少,对磁盘剩余空间需求较小;

2.compact去除Collection所在文件的碎片,其重建索引的cost也变小了,对内存的需求也减少;

compact注意点:
1.compact操作是不会释放磁盘空间的,而是把释放的空间继续给MongoDB使用;
2.compact操作进行时会产生对应的锁,使用mongostat可以查看,所以该操作最好在业务量最少下进行;
3.限制集合{Capped Collection}是不需要compact的

你可能感兴趣的:(数据库_RDBMS)