#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