Mysql
 sql >> Database >  >> RDS >> Mysql

Dove il set di risultati viene archiviato mentre si lavora con jdbc e il driver Oracle

Un numero predefinito di righe (non l'intero set di risultati) verrà recuperato nella memoria locale. Una volta raggiunta l'ultima riga delle righe recuperate (ad esempio facendo next() e provando ad accedere alla riga successiva) e se ci sono più righe nel risultato, verrà effettuata un'altra chiamata di andata e ritorno al database per recuperare il prossimo batch di righe.

MODIFICA 1:

Puoi vedere quante righe il tuo set di risultati sta recuperando alla volta in questo modo (verifica la sintassi):

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

EDIT 2:

Se desideri ottenere più righe nella memoria locale del solito, puoi prendere in considerazione CachedRowSet . Anche questo farà dei viaggi di andata e ritorno, ma generalmente meno del normale set di risultati. Tuttavia, dovresti considerare di eseguire alcuni controlli delle prestazioni per le tue applicazioni.