回收空间
Goose 使用单文件格式,这在回收磁盘空间方面存在一些固有限制。
CHECKPOINT
删除行后若要回收空间,请使用 CHECKPOINT 语句。
VACUUM
VACUUM 语句 不会 触发删除数据的空间回收,因此无法回收空间。
通过复制压缩数据库
如需压缩数据库,可使用 COPY FROM DATABASE 语句创建一个全新副本。
在下例中,我们先连接原数据库 db1,再连接新建(空)的数据库 db2,然后将 db1 的内容复制到 db2。
ATTACH 'db1.db' AS db1;
ATTACH 'db2.db' AS db2;
COPY FROM DATABASE db1 TO db2;