无法从Oracle DB

时间:2015-12-02 17:05:51

标签: java spring oracle performance memory-management

我想要做的是从Oracle DB中读取 1,048,575 条记录。该数字不是随机的,它是Excel文件中最大行数减少1(我希望所有行都填充+必须有标题行)。

我的项目是在Spring 4上构建的。我使用org.springframework.data.querydsl.QueryDslPredicateExecutor从数据库中获取数据,因此基本上需要分页,排序和QueryDslPredicates

当我试图获得所有1,048,575条记录时,我得到了异常: java.lang.OutOfMemoryError: GC overhead limit exceeded。谷歌搜索一段时间后(for example there)我没有发现任何内存泄漏。在将所有记录分成100k块之后,它在500k和600k之间压碎。

Project在Jetty 9.3上运行,带有以下参数:

-Xms512m -Xms2048m -Xmx2048m

DB配置良好,具有适当的结构和所需的索引。让我们说它是不可改变的。

考虑到所有这些因素,我是否有可能在不增加堆大小的情况下实际读取数据

0 个答案:

没有答案