【问题标题】:Will the memory usage and/or database size double during database migration in SQLite?在 SQLite 中进行数据库迁移期间,内存使用量和/或数据库大小会翻倍吗?
【发布时间】:2018-02-06 17:27:08
【问题描述】:

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

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

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

谢谢!

【问题讨论】:

    标签: database sqlite migration database-migration


    【解决方案1】:

    当您已填满新表但尚未删除旧表时,您的数据库中有两组数据,因此两者都需要磁盘空间。

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

    【讨论】:

    • "另外,当您随后删除旧表时,所有更改数据的旧版本都会写入回滚日志以允许回滚事务,因此所需的磁盘空间实际上是三倍。"没想到,谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-27
    • 1970-01-01
    • 2018-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多