我想为我的Spring Boot应用程序提供一个基于文件的SQL数据库,它不需要专用的数据库服务器,并且开箱即用,如HSQLDB或H2。 另外,我希望该数据库主要用于文件系统并限制其内存使用量。然而,无论我使用HSQLDB还是H2,更改只会在关机时保存到磁盘并且内存使用率会爆炸。
我希望立即将对数据库的所有更改保存到磁盘,而不是始终将所有更改保存在内存中。
我的Spring Boot数据源URL目前是:jdbc:hsqldb:file:data/xxx
。
我是否误解了HSQLDB和H2的功能,或者我错过了配置设置?
答案 0 :(得分:1)
这是可配置的
jdbc:hsqldb:file:filename;hsql.default_table_type=cached;hsqldb.cache_size=500;hsqldb.write_delay=false
这些设置表示基于磁盘的表,500KB用于内存缓存(实际内存使用量可能是数量的两倍),并立即将更改写入磁盘。