1. 程式人生 > >MongoDB碎片整理之compact詳解

MongoDB碎片整理之compact詳解

MongoDB版本:2.4.10 和2.6.5

comoact命令可以壓縮單個集合和它的索引。以前壓縮資料庫的唯一辦法就是執行這個資料庫的repair!
這個命令類似與Oracle的去高水位線!
具體用法:
>use testdb
> db.myCollection.runCommand('compact');
> db.runCommand({ compact : 'myCollection' });
壓縮比率截圖:


壓縮比率=348160/1044480*100%=33%

compact優點:

1.compact只壓縮需要的Collection,壓縮期間產生的臨時檔案會就相對較少,對磁碟剩餘空間需求較小;

2.compact去除Collection所在檔案的碎片,其重建索引的cost也變小了,對記憶體的需求也減少;

compact注意點:
1.compact操作是不會釋放磁碟空間的,而是把釋放的空間繼續給MongoDB使用;
2.compact操作進行時會產生對應的鎖,使用mongostat可以檢視,所以該操作最好在業務量最少下進行;
3.限制集合{Capped Collection}是不需要compact的