1
插入和刪除大量記錄到sqlite後,sqlite數據庫文件的大小不斷增長,有什麼辦法使用django真空表?sqlite真空與Django
- 一些設置,讓sqlite的自動真空
- 或手工編寫自己的Django命令真空
更新時間:
我用sqlite database browser執行SQL語句:
vacuum [my table];
commit;
它工作的很好,我只是想做它的程序方式
插入和刪除大量記錄到sqlite後,sqlite數據庫文件的大小不斷增長,有什麼辦法使用django真空表?sqlite真空與Django
更新時間:
我用sqlite database browser執行SQL語句:
vacuum [my table];
commit;
它工作的很好,我只是想做它的程序方式
您可以按如下執行原始的SQL:
from django.db import connection, transaction
cursor = connection.cursor()
# Data modifying operation - commit required
cursor.execute("vacuum my_table")
transaction.commit_unless_managed()
不過,這是一種有趣的http://www.sqlite.org/lang_vacuum.html/pragma.html#pragma_auto_vacuum
也許我們可以設置vacumm是自動的,但它看起來像它可能惡化碎片。
cursor.execute("PRAGMA auto_vacuum=FULL")
千恩萬謝,但我想在Django模型的一些設置的元數據,但問題得到有效解決 – pinkdawn 2012-07-09 05:15:27
使用Django 1.8.3,它需要'''器transaction.commit()''' – 2016-08-24 09:51:20