Возможно ли сохранить HSQLDB только для файла без каких-либо данных в памяти?

#java #hsqldb

#java #hsqldb

Вопрос:

Просматривая документацию HSQLDB, выясняется, что даже если вы укажете файл в URL-адресе подключения, он все равно будет содержать некоторые данные таблицы в памяти. Будет ли установка свойства hsqldb.cache_rows в 0 делать то, что я хочу?

По сути, я хочу, чтобы он вел себя как sqlite, где данные хранятся только в файле. После операции (выберите / вставьте / обновите / удалите) он просто изменит этот файл вместо того, чтобы вносить какие-либо изменения в памяти. И в результате, когда приложение перезапускается, оно может просто прочитать из этого файла ранее сохраненные данные. Возможно ли повторить это поведение?

Ответ №1:

Все системы баз данных вносят изменения в память перед записью на диск.

Если ваш вопрос касается всех изменений, которые фиксируются на диске, это настройки и параметры.

Параметр свойства hsqldb.write_delay=false сразу же переносит все изменения на диск во время фиксации. См http://hsqldb.org/doc/2.0/guide/dbproperties-chapt.html#dpc_db_file_mem

Если вы используете CREATE TEXT TABLE для хранения табличных данных текстовые файлы, все данные записываются на диск при фиксации. См http://hsqldb.org/doc/2.0/guide/texttables-chapt.html