对于具有约300000个查询的复杂用例,我们在只读模式下使用HSQLDB。片刻之后,我们遇到了OutOfMemoryError
。
问题是子选择查询和只读的组合,所有其他组合都能正常且快速地工作:
simple select nested select
DB read only works OOM
DB read/write works works
Here是一个简单的复制器,包括用于复制器的(只读)数据库。
要切换到读/写数据库,只需删除repo.properties中的“ readonly = true”行,然后再次运行测试。
我怀疑RowStoreAVLHybrid
类是问题的一部分,因为该类仅在subselect + read-only情况下使用。
除了我想将数据库切换为读/写之外,我还能做什么?我想不惜一切代价避免什么?
答案 0 :(得分:0)
此错误没有解决方法。它已经过重新设计,并且针对HSQLDB 2.5.0版发布了针对dev-three代码分支的修复程序。