2011-07-22 67 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,所以你不需要打扰前进的真空运行。