如果我查询一个大表,那么我得到了一个java.lang.OutOfMemoryError。 Profiler说com.mysql.jdbc.Buffer变大了。
是否可以在ormlite中设置fetchsize?我已经使用了Iterator,所以它应该比findall消耗更少的内存。我还尝试了不同类型的结果集作为iterator-parameter。
在查询中设置更高的堆大小或使用限制/偏移量不应该是一种解决方案。
答案 0 :(得分:0)
是否可以在ormlite中设置fetchsize?我已经使用了Iterator,所以它应该比findall消耗更少的内存。我还尝试了不同类型的结果集作为iterator-parameter。
我不认为这是一个fetchsize问题。默认值不应导致内存问题。如果你正在使用迭代器那么你应该是好的。您是否将所有实体保留在内存中或其他内容中?您可以在阅读时处理它们而不是将它们全部留在内存中吗?