SQLite 删表后删物理文件
sqlite 删除表后文件还是很大
如果在SQLite中删除了一个表,但是文件大小没有减小,这通常是因为SQLite的空间回收机制。SQLite不会在删除数据后立即重新缩小数据库文件,以避免频繁的文件大小调整。
要减小文件大小,可以使用VACUUM
命令。VACUUM
命令会重建数据库文件,删除未使用的空间。在SQLite中执行此命令的方法取决于你使用的接口。
如果你正在使用命令行工具,可以这样做:
VACUUM;
这时候,物理文件就被删掉了:
但是删除后可能会出现两种情况:
第一种,第二种都已经将空闲的列表从物理磁盘中删除了,第二种是我们希望看到的理想状况,而如果你遇到第一种情况,只需要将-shm,-wal文件删除,删除后,会变成和第二种情况相同的情况。