OrmLite with BigData - java.lang.OutOfMemoryError

时间:2014-06-29 17:00:15

标签: java mysql ormlite

如果我查询一个大表,那么我得到了一个java.lang.OutOfMemoryError。 Profiler说com.mysql.jdbc.Buffer变大了。

是否可以在ormlite中设置fetchsize?我已经使用了Iterator,所以它应该比findall消耗更少的内存。我还尝试了不同类型的结果集作为iterator-parameter。

在查询中设置更高的堆大小或使用限制/偏移量不应该是一种解决方案。

1 个答案:

答案 0 :(得分:0)

  

是否可以在ormlite中设置fetchsize?我已经使用了Iterator,所以它应该比findall消耗更少的内存。我还尝试了不同类型的结果集作为iterator-parameter。

我不认为这是一个fetchsize问题。默认值不应导致内存问题。如果你正在使用迭代器那么你应该是好的。您是否将所有实体保留在内存中或其他内容中?您可以在阅读时处理它们而不是将它们全部留在内存中吗?