Het Oracle JDBC-stuurprogramma heeft de juiste ondersteuning voor de setFetchSize()
methode op java.sql.Statement
, waarmee u kunt bepalen hoeveel rijen de bestuurder in één keer ophaalt.
Echter, RowMapper
zoals gebruikt door Spring werkt door elke rij in het geheugen te lezen en de RowMapper
. te krijgen om het in een object te vertalen en het object van elke rij op te slaan in één grote lijst. Als uw resultatenset enorm is, wordt deze lijst groot, ongeacht hoe JDBC de rijgegevens ophaalt.
Als u grote resultatensets moet verwerken, is RowMapper niet schaalbaar. U kunt overwegen om RowCallbackHandler
te gebruiken in plaats daarvan, samen met de bijbehorende methoden op JdbcTemplate. RowCallbackHandler
dicteert niet hoe de resultaten worden opgeslagen, maar laat het aan jou over om ze op te slaan.