是否可以创建一个内存中的 H2 数据库,该数据库使用磁盘上的 H2 数据库的内容进行初始化,对其运行一些操作,然后将内存中的数据库持久保存回数据库文件中?
我想这样做的原因是我有一些数据处理(从外部源加载、计算派生表和创建索引)需要很长时间使用磁盘数据库,我希望通过这样做来加快速度它在内存中。
最佳答案
不是直接的,但是您可以使用 SCRIPT
命令完成此操作。
首先,打开磁盘上的数据库。接下来,使用 SCRIPT TO 'initial.sql'
将其转储到脚本文件。接下来,打开内存数据库并使用 RUNSCRIPT FROM 'initial.sql'
导入脚本。对内存中的数据库进行操作,然后使用 SCRIPT TO 'updated.sql'
再次编写脚本。最后,再次在持久数据库中运行更新后的脚本。
关于java - 在 H2 on-disk 和 in-memory DB 之间来回切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25818824/