2014-09-13 51 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'重新編寫腳本。最後,再次在持久數據庫中運行更新後的腳本。