Do pamięci lokalnej zostanie pobrana domyślna liczba wierszy (nie cały zestaw wyników). Po dotarciu do ostatniego wiersza pobranych wierszy (powiedzmy, wykonując next() i próbując uzyskać dostęp do następnego wiersza) i jeśli w wyniku jest więcej wierszy, zostanie wykonane kolejne wywołanie w obie strony do bazy danych, aby pobrać następny partia wierszy.
EDYCJA 1:
Możesz zobaczyć, ile wierszy jest pobieranych jednocześnie przez Twój zestaw wyników, wykonując to (zweryfikuj składnię):
rs.beforeFirst(); // will put cursor before the first row
rs.last(); // will put cursor after the last line
int noOfRows = rs.getRow(); // will give you the current row number
EDYCJA 2:
Jeśli chcesz uzyskać więcej wierszy w pamięci lokalnej niż zwykle, możesz rozważyć CachedRowSet . Nawet to spowoduje podróże w obie strony, ale generalnie mniej niż normalny zestaw wyników. Jednak powinieneś rozważyć wykonanie pewnych testów wydajności dla swoich aplikacji.