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

Czy zestaw danych jdbc przechowuje wszystkie wiersze w pamięci jvm?

To zależy. Różne sterowniki mogą zachowywać się różnie i różnie ResultSet ustawienia może zachowywać się inaczej.

Jeśli masz CONCUR_READ_ONLY , FETCH_FORWARD , TYPE_FORWARD_ONLY ResultSet , sterownik prawie na pewno będzie aktywnie przechowywać w pamięci liczbę wierszy odpowiadającą rozmiarowi pobierania (oczywiście dane dotyczące wcześniejszych wierszy pozostaną w pamięci przez pewien czas, dopóki nie zostaną zebrane śmieci). Jeśli masz TYPE_SCROLL_INSENSITIVE ResultSet , z drugiej strony jest bardzo prawdopodobne, że sterownik zachowałby wszystkie dane, które zostały pobrane w pamięci, aby umożliwić przewijanie danych do tyłu i do przodu. Nie jest to jedyny możliwy sposób zaimplementowania tego zachowania, więc różne sterowniki (i różne wersje sterowników) mogą mieć różne zachowania, ale jest to najprostszy i sposób, w jaki zachowuje się większość sterowników, z którymi się spotykam.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zapytanie Oracle SQL do wylistowania wszystkich schematów w bazie danych

  2. Czy mogę pominąć weryfikację certyfikatu oracle utl_http?

  3. Scalanie dwóch wierszy w jeden podczas zastępowania wartości null

  4. ORA-01002:pobierz poza sekwencją C++

  5. Uzyskaj pierwszy dzień tygodnia z numeru tygodnia