我們使用的是副本mongo,有一個collection中大概有1.5億筆記錄,[size=10GB,Storage Size=3.4GB,Total Index Size:6GB]
因為是保存的歷史記錄,我們使用remove刪掉30天前的記錄(大概200萬),但是發現索引大小從6GB漲到9GB.
請問該如何正確的刪除歷史記錄?
给我你的怀抱2017-05-02 09:24:42
一般情況下並不需要什麼特別的操作來進行刪除操作。 MongoDB使用的Btree也是自平衡的不用去重建,除了3.0.7及更早版本有一個bug SERVER-21063會影響btree的平衡外並沒有聽說有什麼特別需要注意的地方。
從6G成長到9G這個情況從未聽過。可以看一下從結點的情況是否也是這樣。如有可能,為了驗證目的,可以刪除一個從結點上的索引重新建立看大小是否有不同。
編輯:在嘗試之前可以試試compact看是否有用。注意對實例的影響,最好拆一個secondary下來單獨測試。