在 groovy Sql 中设置 fetchSize

Setting fetchSize in groovy Sql

我正在使用 groovy sql (2.4.4)。但是我不知道如何设置 fetchSize 和滚动结果。

我使用 sql.setResultSetType(ResultSet.TYPE_FORWARD_ONLY) 但同时查询 sql.rows(sqlQuery) returns 所有数据,这真的很慢。我想像在正常 jdbc 查询中那样获取数据。

设置 maxRows 并不是一个真正的选择,因为我必须查询太多次,但 fetchSize 会是一个不错的选择。

在 groovy sql 文档中(http://docs.groovy-lang.org/2.4.4/html/api/groovy/sql/Sql.html)我看到:

A facade over Java's normal JDBC APIs providing greatly simplified resource management and result set handling.

但没有提供有关提取的信息。 如何设置 fetchSize ?

谢谢!

对于fetchSize,这似乎是唯一的选择,

举个例子,

 sql.withStatement { stmt -> stmt.fetchSize = 50 }

对于maxResult,可用的选项很少,

  • 使用带有 maxRows 参数的重载 rows() 方法,或者
  • 您可以使用带有 maxRows 参数的 asList() 方法,或者
  • 使用带有 maxRows 参数的 eachRow()

注意: 有很多名为 rows(..)asList(..)eachRow(..).

的重载方法