釋放sqlite文件佔用的多餘空間

當刪除sqlite文件裏的數據之後,會發現sqlite文件佔的磁盤空間並不會縮小,那是因爲:
當你從Sqlite刪除數據後,未使用的磁盤空間被添加到一個內在的”空閒列表”中用於存儲你下次插入的數據。磁盤空間並沒有丟失。但是也不向操作系統返回磁盤空間。
sqlite這種處理方式自有它的道理之處,但有些場景,我們還是希望刪除了數據之後,被刪除數據所佔用的空間也得以釋放。這要怎麼做呢?其實很簡單。
方法一:
用navicat連接上sqlite文件,刪除數據之後,在界面執行“VACUUM”語句
在這裏插入圖片描述
方法二:
第二種方法是在數據庫驅動下操作的,其實原理跟第一種一樣:

sqliteDBDriver.ExecuteNonQuery(CommandType.Text, "VACUUM");

然後,就可以看到刪除數據之後,被刪除的數據空間被回收。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章