带djang的sqlite真空

2024-04-28 03:54:49 发布

您现在位置:Python中文网/ 问答频道 /正文

在sqlite中插入和删除大量记录后,sqlite数据库文件的大小不断增长,有没有办法使用django真空表?在

  • 一些设置可以让sqlite自动吸尘
  • 或者手动编写自己的django命令到vacuum

更新时间:

我使用sqlite database browser执行以下SQL:

vacuum [my table];
commit;

它很好用,我只想用程序的方式


Tags: 文件django命令browser数据库sqlitesql记录
1条回答
网友
1楼 · 发布于 2024-04-28 03:54:49

可以按如下方式执行原始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

也许我们可以将真空设置为自动,但它看起来可能会使碎片更加严重。在

^{pr2}$

http://www.sqlite.org/pragma.html#pragma_auto_vacuum

相关问题 更多 >