HSQLDB 在使用嵌套查询并且数据库处于只读模式时触发 OutOfMemoryError
Posted
技术标签:
【中文标题】HSQLDB 在使用嵌套查询并且数据库处于只读模式时触发 OutOfMemoryError【英文标题】:HSQLDB triggers OutOfMemoryError when using nested queries and the DB is in read-only mode 【发布时间】:2019-02-22 06:26:46 【问题描述】:对于具有大约 300000 个查询的复杂用例,我们在只读模式下使用 HSQLDB。不久之后,我们遇到了OutOfMemoryError
。
问题是子选择查询和只读的组合,所有其他组合都可以正常工作:
simple select nested select
DB read only works OOM
DB read/write works works
Here 是一个简单的复制器,包括复制器的(只读)数据库。
要切换到读/写数据库,只需删除 repo.properties 中的“readonly=true”行并再次运行测试。
我怀疑RowStoreAVLHybrid
class 是问题的一部分,因为该类仅用于子选择+只读情况。
知道除了将数据库切换为读/写之外我还能做什么,我想不惜一切代价避免吗?
【问题讨论】:
【参考方案1】:没有解决此错误的方法。它已被解决,并已将修复提交给 HSQLDB 2.5.0 版的 dev-three 代码分支。
【讨论】:
以上是关于HSQLDB 在使用嵌套查询并且数据库处于只读模式时触发 OutOfMemoryError的主要内容,如果未能解决你的问题,请参考以下文章