搜尋

首頁  >  問答  >  主體

mongodb - mongo刪除文件導致索引變大

我們使用的是副本mongo,有一個collection中大概有1.5億筆記錄,[size=10GB,Storage Size=3.4GB,Total Index Size:6GB]
因為是保存的歷史記錄,我們使用remove刪掉30天前的記錄(大概200萬),但是發現索引大小從6GB漲到9GB.

請問該如何正確的刪除歷史記錄?

阿神阿神2757 天前724

全部回覆(2)我來回復

  • 给我你的怀抱

    给我你的怀抱2017-05-02 09:24:42

    一般情況下並不需要什麼特別的操作來進行刪除操作。 MongoDB使用的Btree也是自平衡的不用去重建,除了3.0.7及更早版本有一個bug SERVER-21063會影響btree的平衡外並沒有聽說有什麼特別需要注意的地方。
    從6G成長到9G這個情況從未聽過。可以看一下從結點的情況是否也是這樣。如有可能,為了驗證目的,可以刪除一個從結點上的索引重新建立看大小是否有不同。
    編輯:在嘗試之前可以試試compact看是否有用。注意對實例的影響,最好拆一個secondary下來單獨測試。

    回覆
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-02 09:24:42

    這個在文件中說明了,刪除資料的時候並不會刪除索引,即使整個集合你全部刪除了都不會刪除索引。所以這個時候,我建議你進行重建索引。

    回覆
    0
  • 取消回覆