sql >> Database >  >> RDS >> Oracle

Spring JDBC-ondersteuning en grote dataset

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.



  1. 3 manieren om de serversortering in MariaDB te krijgen

  2. [archiver] niet-ondersteunde versie (1.13) in de bestandskop krijgen bij het uitvoeren van pg_restore

  3. PostgreSQL:Query heeft geen bestemming voor resultaatgegevens

  4. Java Multicast Time To Live is altijd 0