2011-07-22 128 views
2

我在我的數據庫文件中創建了一個表,結果太大了(我的數據庫文件的大小從2GB增加到大約50GB)。我只是放棄它,但文件大小沒有下降。任何方式讓db文件恢復正常?我正在使用Python中的sqlite3。SQLite數據庫文件大小在刪除大表後沒有縮小

+1

看到這個[所以問題] [1] [1]:http://stackoverflow.com/questions/4712929/how-to-use-sqlite3s-vacuum-command-in-python – Predator

回答

9

嘗試vacuum

+1

你可以把最相關的代碼給這個答案。當鏈接失效時,答案變得毫無用處,當我遵循該鏈接時,我必須挖掘存儲庫以瞭解我需要做什麼。這個Q/A對在[這裏]列出(https://meta.stackoverflow.com/questions/334866/cleanup-500-old-terse-answers-that-either-have-hidden-value-or-indicate-awful -qu/334916#334916)。這個問題並不值得接受,所以我寧願挽回答案。 – Mistalis

+0

@Mistalis相關的代碼會像'conn.execute(「VACUUM」)''。然而,最初的(6歲)問題是要求一次性解決方案,所以更好的方法是從sqlite命令行調用'vacuum'。 – phooji

2

你可以激活auto_vacuum,所以你不需要打擾前進的真空運行。