mongo如何刪除數據後相應的刪除空間和內存佔用
Q: mongo數據變大之後,刪除不需要的表和數據之後,內存和磁盤空間都沒有釋放。
A:
這是mongo機制,只有刪除數據庫時纔會回收相應的空間,否則會保留申請的空間,以備後續新增數據時使用。
那麼如果希望能刪除表和數據後能相應的回收空間,則可以有如下幾個方法:(前提是先刪除指定數據)
- 備份該數據庫,再恢復回去
- 使用db.copyDatabase(“db1”,“db2”)命令複製一個新庫,然後刪除舊庫再改下新庫名字
- 使用db.repairDatabase()修復
這三種方式的套路都是一樣的,即對於刪除的數據,在備份、複製、修復時都不會帶上的(也沒有必要)。