尝试进行大查询时收到此错误。

java.lang.OutOfMemoryError: Java heap space

我搜索后发现,将 setAutoCommit(false) setFetchSize 方法应用于我准备好的语句可能有助于处理大查询。
但是,当我使用它时,我收到了此错误。
java.sql.SQLException: Illegal value for setFetchDirection().

什么是处理大型查询的正确且简便的方法?

使用setFetchSize的正确方法是什么?

最佳答案

假设您使用的是MySQL提供的Connector/J驱动程序,我相信可以在this manual page(Connection::createStatement()的注意参数1)中找到解决方案:


stmt = conn.createStatement(java.sql.ResultSet.TYPE_FORWARD_ONLY,
              java.sql.ResultSet.CONCUR_READ_ONLY);
stmt.setFetchSize(Integer.MIN_VALUE);

10-06 13:34
查看更多