Oracle
JDBC驱动程序对上的
setFetchSize()方法具有适当的支持,该方法
java.sql.Statement可让您控制驱动程序一次性读取多少行。
但是,
RowMapperSpring使用的方法是将每一行读入内存,将其
RowMapper转换为一个对象,并将每一行的对象存储在一个大列表中。如果结果集很大,则无论JDBC如何获取行数据,此列表都会很大。
如果您需要处理大型结果集,则RowMapper无法缩放。您可以考虑
RowCallbackHandler改为使用JdbcTemplate上的相应方法。
RowCallbackHandler并不决定结果的存储方式,而是由您来存储结果。



