時間:2024-02-14 10:20作者:下載吧人氣:20
前言
當我們從MongoDB中刪除文檔或集合時,MongoDB并不會將已經占用了的磁盤空間釋放,它會一直維護已經占用了磁盤空間的數據文件,盡管數據文件中可能存在大大小小的空記錄列表(empty record list)。當客戶端程序再次插入文檔時,MongoDB會從空記錄列表中分配存儲空間給新文檔。那么為了更加有效的使用磁盤空間,我們需要對mongodb的數據文件做碎片整理以及未使用空間的回收。思想無非兩種:
1、對原數據進行重組
2、僅將數據復制出來,形成僅數據的完整備份
以下介紹幾種常用的實施方法:
1、compact
2、db.repairDatabase()
3、secondary節點重同步
4、db.copyDatabase()
一、compat
官網對該命令的定義:對集合中的所有數據和索引進行重寫和碎片整理。
使用方法
use yourdatabase;
db.runCommand({ compact : ‘yourCollection’ });
網友評論