【发布时间】:2020-07-28 18:11:58
【问题描述】:
我正在使用 sqlite3 文件。
首先,我进入了比较大的数据库,文件大小在 100 mb 左右。
比我做的
$db->exec("DELETE FROM table");
并只输入了该数据库的一小部分。但文件大小仍为 100 mb。
删除内容时如何更改sqlite文件大小?
【问题讨论】:
标签: sqlite
我正在使用 sqlite3 文件。
首先,我进入了比较大的数据库,文件大小在 100 mb 左右。
比我做的
$db->exec("DELETE FROM table");
并只输入了该数据库的一小部分。但文件大小仍为 100 mb。
删除内容时如何更改sqlite文件大小?
【问题讨论】:
标签: sqlite
【讨论】:
VACUUMing 数据库需要 两倍 内部/外部内存中原始数据库文件的大小。阅读SQLite Query Language: VACUUM 了解更多信息。
你可以这样做
$db->exec("DELETE FROM table");
$db->exec("vacuum");
文件大小会改变。
【讨论】:
清理数据库 SQLite 有两个专门用于清理的命令——重新索引和清理。
reindex 用于重建索引。它有两种形式:
reindex collation_name;
reindex table_name|index_name;
真空有以下形式:
VACUUM;
【讨论】: