当我在 sqlite3 中退出 VACUUM 时会发生什么?
What happens when I quit VACUUM in sqlite3?
我有一个大于 34 GB 的 sqlite3 数据库。
当我为此数据库执行显式 VACUUM
命令时,该过程花费的时间太长。所以我想知道当我强制它退出 VACUUM
任务时会发生什么。
是否可以将 VACUUM
视为原子事务?
VACUUM 首先创建一个新的临时数据库文件,然后覆盖原始数据库文件。一切都在使用更改数据库的标准机制(回滚日志或 WAL)的事务内完成,因此您可以随时中止它。
我有一个大于 34 GB 的 sqlite3 数据库。
当我为此数据库执行显式 VACUUM
命令时,该过程花费的时间太长。所以我想知道当我强制它退出 VACUUM
任务时会发生什么。
是否可以将 VACUUM
视为原子事务?
VACUUM 首先创建一个新的临时数据库文件,然后覆盖原始数据库文件。一切都在使用更改数据库的标准机制(回滚日志或 WAL)的事务内完成,因此您可以随时中止它。