sql >> Databáze >  >> RDS >> Oracle

Jarní podpora JDBC a velká datová sada

Ovladač Oracle JDBC má správnou podporu pro setFetchSize() metoda na java.sql.Statement , což vám umožňuje řídit, kolik řádků ovladač načte najednou.

Nicméně RowMapper jak jej používá Spring, funguje tak, že načte každý řádek do paměti a získá RowMapper převést jej na objekt a uložit objekt každého řádku do jednoho velkého seznamu. Pokud je vaše sada výsledků obrovská, pak se tento seznam zvětší bez ohledu na to, jak JDBC načte data řádku.

Pokud potřebujete zpracovat velké sady výsledků, pak RowMapper není škálovatelný. Můžete zvážit použití RowCallbackHandler místo toho spolu s odpovídajícími metodami na JdbcTemplate. RowCallbackHandler neurčuje, jak se výsledky ukládají, nechává na vás, abyste je uložili.



  1. Záleží na pořadí tabulek ve spojení, když se používají LEVÉ (vnější) spojení?

  2. 6 způsobů, jak zřetězit řetězec a číslo na serveru SQL

  3. Vybrat dotaz mysql mezi datem?

  4. Generátory dat pro SQL server?