java - 在 H2 on-disk 和 in-memory DB 之间来回切换

标签 java h2

是否可以创建一个内存中的 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/

相关文章:

java - 如何在 AdoptOpenJDK 11 和 JavaFX 11 上使用 VM 参数执行 .Jar 文件?

java - Hibernate 的 ConstraintViolationException

java - 如何让 Play 框架应用程序在执行 Controller CRUD API 方法之前运行 SQL 脚本?

mysql - 如果从同一个表中选择不存在如何插入?

java - Axis2 甚至可以使用 BASIC 身份验证

java - 如何打印特定Hashmap键的所有值

java - 将 CQ5 组件设置为可编辑或不可编辑

Java正则表达式第一个匹配的字符

java - 如何将 HSQL DB 与 Java 应用程序集成

java - 指定 varchar 的长度和默认值时出现 SQLException