database - 在 SQLite 中进行数据库迁移时,内存使用量和/或数据库大小会加倍吗?

标签 database sqlite migration database-migration

SQLite suggests创建和填充新表并删除旧表,因为 ALTER TABLE 语句非常有限。

我的问题是,在 SQLite 中的数据库迁移过程中,内存和/或数据库大小是否会加倍,因为在迁移过程中的某个时刻,会有两个不同的表包含完全相同的数据,甚至可能更多。

我是否需要确保我有足够的内存和/或磁盘空间才能成功完成操作,或者 SQLite 会优化事务并减少所需的资源?有没有办法估计这样的迁移操作将占用多少资源?

谢谢!

最佳答案

当你已经填充了新表并且还没有删除旧表时,你的数据库中有两组数据,因此两者都需要磁盘空间。

此外,当您随后删除旧表时,所有更改数据的旧版本将写入回滚日志以允许回滚事务,因此所需的磁盘空间实际上增加了三倍。

关于database - 在 SQLite 中进行数据库迁移时,内存使用量和/或数据库大小会加倍吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45936004/

相关文章:

javascript - 选择列中给出相应单元格值的单元格

SQL - 不同类别的列

java - 不可变对象(immutable对象)和更新

java - Hibernate/JPA,每个关联实体的列上的唯一约束(例如 : each user cannot have duplicate entries but can be duplicates overall)

c# - 在 Windows 8 Metro-App 中打开 extern SQLite-Database?

svn - 从 Subversion 迁移到 Git 如何找到给定修订号的提交?

postgresql - 有没有办法将 PostgreSQL 数据库从 Azure 迁移到 AWS RDS PostgreSQL

Spring 3.2 配置 tx :annotation-driven error in eclipse

sql - 插入/更新/索引多行(100 亿)数字作为值

mysql - SQL 两个表的总计百分比如何随时间变化