通常,当我想使用 Mysql 查询大型结果集时,我会写这个(取自这个答案):
stmt = conn.createStatement(java.sql.ResultSet.TYPE_FORWARD_ONLY, java.sql.ResultSet.CONCUR_READ_ONLY);
stmt.setFetchSize(Integer.MIN_VALUE);
现在我正在使用jOOQ 2.0.5,但我无法获得相同的结果。
我试过打电话fetchLazy
没有运气,它将整个结果集加载到内存中:
Cursor<Record> result = query.fetchLazy(Integer.MIN_VALUE);
作为一种解决方法,我可以使用 sql 查询query.getSQL()
并创建一个适合Statement
执行它的方法。
还有另一种使用 jOOQ 获得流结果集的方法吗?