Вместо использования базы данных в памяти вы можете использовать обычную (сохраненную) базу данных. Вы по-прежнему можете использовать таблицы памяти в памяти (тогда создайте таблицу памяти).
Самый простой способ сохранить полностью память в памяти на диске - использовать инструкцию SQL SCRIPT TO 'fileName'. Это создаст скрипт SQL. Данные хранятся в текстовой форме, что не похоже на наиболее эффективное решение. Однако, как правило, узким местом является диск в любом случае, а не форматирование/разбор текста.
Другой вариант - создать другую базу данных, связать таблицы с базой данных в памяти (используя create linked table или функцию link_schema), а затем использовать create table as select для сохранения таблиц.
Можете ли вы просто использовать файл DB по сравнению с версией в памяти? Я предполагаю, что вы выполняете индивидуальную разработку с использованием фреймворка (например, Grails), о котором вы не упомянули. – Marc
Это настраиваемый проект без каких-либо фреймворков. Честно говоря, я не уверен, каковы последствия производительности файла db, я хочу, чтобы скорость и данные всегда соответствовали памяти, поэтому я предположил, что бит памяти в оперативной памяти будет самым быстрым. Данные будут запросом только для того, чтобы я не делал ненужных проверок сохранения. – mikkom
@marc Использование «файла DB» - это другое дело. Было бы очень полезно в модульном тесте, если бы можно было установить тестовый набор данных в памяти с помощью java или любого другого языка, затем сделать резервную копию набора данных и использовать его для восстановления в начальное состояние после каждого теста. –