MongoDB碎片整理之compact詳解
阿新 • • 發佈:2018-12-24
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的