sql >> Database teknologi >  >> RDS >> Oracle

Spring JDBC-understøttelse og stort datasæt

Oracle JDBC-driveren har korrekt understøttelse af setFetchSize() metode på java.sql.Statement , som giver dig mulighed for at kontrollere, hvor mange rækker chaufføren vil hente på én gang.

Dog RowMapper som brugt af Spring fungerer ved at læse hver række ind i hukommelsen og hente RowMapper at oversætte det til et objekt og gemme hver rækkes objekt på en stor liste. Hvis dit resultatsæt er enormt, bliver denne liste stor, uanset hvordan JDBC henter rækkedataene.

Hvis du har brug for at håndtere store resultatsæt, så er RowMapper ikke skalerbar. Du kan overveje at bruge RowCallbackHandler i stedet sammen med de tilsvarende metoder på JdbcTemplate. RowCallbackHandler dikterer ikke, hvordan resultaterne gemmes, det overlader det til dig at gemme dem.



  1. Oracle:Hvordan konverterer jeg hex til decimal i Oracle SQL?

  2. IDEF1X-notation

  3. mySQL konverter varchar til dato

  4. Kan JavaScript forbindes med MySQL?