SQLite suggests创建和填充新表并删除旧表,因为 ALTER TABLE 语句非常有限。
我的问题是,在 SQLite 中的数据库迁移过程中,内存和/或数据库大小是否会加倍,因为在迁移过程中的某个时刻,会有两个不同的表包含完全相同的数据,甚至可能更多。
我是否需要确保我有足够的内存和/或磁盘空间才能成功完成操作,或者 SQLite 会优化事务并减少所需的资源?有没有办法估计这样的迁移操作将占用多少资源?
谢谢!
最佳答案
当你已经填充了新表并且还没有删除旧表时,你的数据库中有两组数据,因此两者都需要磁盘空间。
此外,当您随后删除旧表时,所有更改数据的旧版本将写入回滚日志以允许回滚事务,因此所需的磁盘空间实际上增加了三倍。
关于database - 在 SQLite 中进行数据库迁移时,内存使用量和/或数据库大小会加倍吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45936004/