Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Wsparcie Spring JDBC i duży zbiór danych

Sterownik Oracle JDBC ma odpowiednią obsługę setFetchSize() metoda na java.sql.Statement , który pozwala kontrolować liczbę wierszy, które kierowca pobierze za jednym razem.

Jednak RowMapper używany przez Spring działa poprzez wczytanie każdego wiersza do pamięci, pobranie RowMapper przetłumaczyć go na obiekt i przechowywać obiekt każdego wiersza na jednej dużej liście. Jeśli Twój zestaw wyników jest ogromny, ta lista stanie się duża, niezależnie od tego, jak JDBC pobierze dane wiersza.

Jeśli potrzebujesz obsłużyć duże zestawy wyników, RowMapper nie jest skalowalny. Możesz rozważyć użycie RowCallbackHandler zamiast tego wraz z odpowiednimi metodami w JdbcTemplate. RowCallbackHandler nie dyktuje sposobu przechowywania wyników, pozostawiając tobie ich przechowywanie.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Co oznacza dwukropek :robi w zapytaniu SQL?

  2. Jak opisać problem wydajności w relacyjnej bazie danych?

  3. Przyrostowe zbieranie statystyk w 11g

  4. Metoda gromadzenia:procedura DELETE w bazie danych Oracle

  5. Jak uzyskać maksymalną możliwą datę w Oracle?