2014-09-13 92 views
2

是否可以创建一个内存H2数据库,该数据库使用磁盘H2数据库的内容进行初始化,对其执行一些操作,然后保留内存中的数据库返回到数据库文件中?在磁盘H2和内存数据库之间来回切换

我想这样做的原因是我有一些数据处理(从外部来源加载,计算派生表和创建索引),需要花费很长时间使用磁盘上的数据库,我希望通过加速在内存中进行。

+2

相关:http://stackoverflow.com/questions/9601038/saving-in-memory-h2-database-to-disk – Thilo 2014-09-13 01:00:24

回答

1

不是直接的,但可以使用SCRIPT命令完成此操作。

首先打开磁盘数据库。接下来,将其转储到SCRIPT TO 'initial.sql'的脚本文件中。接下来,打开内存数据库并使用RUNSCRIPT FROM 'initial.sql'导入脚本。在内存中操作数据库,然后使用SCRIPT TO 'updated.sql'重新编写脚本。最后,再次在持久数据库中运行更新后的脚本。