pin*_*awn 1 python sqlite django vacuum
在sqlite中插入和删除大量记录后,sqlite db文件的大小不断增长,有没有办法使用django真空表?
更新:
我使用sqlite数据库浏览器执行以下SQL:
vacuum [my table];
commit;
Run Code Online (Sandbox Code Playgroud)
效果很好,我只是想以编程方式进行
您可以按如下方式执行原始 sql:
from django.db import connection, transaction
cursor = connection.cursor()
# Data modifying operation - commit required
cursor.execute("vacuum my_table")
transaction.commit_unless_managed()
Run Code Online (Sandbox Code Playgroud)
不过,这有点有趣http://www.sqlite.org/lang_vacuum.html/pragma.html#pragma_auto_vacuum
也许我们可以将 vacumm 设置为自动,但看起来它可能会加剧碎片化。
cursor.execute("PRAGMA auto_vacuum=FULL")
Run Code Online (Sandbox Code Playgroud)
http://www.sqlite.org/pragma.html#pragma_auto_vacuum
| 归档时间: |
|
| 查看次数: |
2448 次 |
| 最近记录: |