Python SQLITE-在插入几行后,关闭数据库连接对于大数据库来说需要很长时间

时间:2018-04-17 18:11:45

标签: python sqlite

我有一个大小为10 GB的sqlite数据库。我每天运行一个脚本来插入几行数据。当我关闭与数据库的连接时,大约需要10分钟,并继续在C盘中占用我的空间,直到连接自动关闭。想知道当它变成20 GB时要做什么。我在C盘中没有20 Gb可用空间

示例python代码:

import sqlite3

conn = sqlite3.connect('example.db')

c = conn.cursor()

Insert a row of data
c.execute("INSERT INTO stocks VALUES ('2006-01-05','BUY','RHAT',100,35.14)")

conn.close()

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

当数据库位于WAL mode时,以及当您的程序执行某些操作以阻止数据库执行自动checkpoints时,会发生此行为。

使用不同的journal mode或修复wal_autocheckpoint setting,或者修复程序,使其不会泄漏活动的事务/游标。