mongodb刪除集合後磁碟空間不釋放

2021-09-01 12:08:56 字數 725 閱讀 5362

mongodb刪除集合後磁碟空間不釋放,只有用db.repairdatabase()去修復才能釋放。

但是在修復的過程中如果出現了非正常的mongodb的掛掉,再次啟動時啟動不了的,需要先修復才可以,可以利用./mongod --repair --dbpath=/data/mongo/ 如果你是把資料庫單獨的放在乙個資料夾中指定dbpath時就指向要修復的資料庫就可以,修復可能要花費很長的時間,在使用db.repairdatabase()去修復時一定要停掉讀寫,並且mongodb要有備機才可以,不然千萬不要隨便使用db.repairdatabase()來修復資料庫,切記。

修復資料庫的實際過程:將所有的文件匯出然後馬上匯入,忽略那些無效的文件.完成以後,會重新建立索引.了解這一機制對理解修復的一些屬性有幫助.資料量大的話,會花很多時間.因為所有資料都要驗證,所有索引都要重建.修復後可能會比修復前少些文件,因為損毀的文件都被丟棄了.

mongodb內部有預分配空間的機制,每個預分配的檔案都用0進行填充,由於有了這個機制,mongodb始終保持額外的空間和空餘的資料檔案,從而有效地避免了由於資料暴增而帶來的磁碟壓力過大的問題.

由於表中資料量的增加,資料檔案每新分配一次,它的大小都會是上乙個資料檔案大小的2倍,每個資料檔案最大2g.這樣的機制有利於防止較小的資料庫浪費過多的磁碟空間,同時又能保證較大的資料庫有相應的預留空間使用.

修復資料庫還能起到壓縮資料的作用,限制的空間(比如刪除體積較大的集合,或刪除大量文件後騰出的空間)在修復後會被重新**.

mongodb刪除集合後磁碟空間不釋放的問題

mongodb刪除集合後磁碟空間不釋放的問題 mongodb刪除集合後磁碟空間不釋放,只有用db.repairdatabase 去修復才能釋放。但是在修復的過程中如果出現了非正常的mongodb的掛掉,再次啟動時啟動不了的,需要先修復才可以,可以利用.mongod repair dbpath dat...

MongoDB 刪除集合

本章介紹如何在mongodb中刪除集合。drop 方法用於從資料庫中刪除集合。drop 命令的基本語法如下 db.collection name.drop 首先顯示資料庫mydb中的所有集合。use mydb switched to db mydb show collections mycollec...

MongoDB 刪除集合

本章節我們為大家介紹如何使用 mongodb 來刪除集合。mongodb 中使用 drop 方法來刪除集合。語法格式 db.collection.drop 引數說明 返回值如果成功刪除選定集合,則 drop 方法返回 true,否則返回 false。在資料庫 mydb 中,我們可以先通過 show ...