Ciao a tutti. Devo sviluppare un componente per un progetto e volevo dei chiarimenti sull'uso di JDBC. Premetto che so gia utilizzare JDBC ma questa cosa proprio non capisco come implementarla e sopratuttto se è possibile realizzare una cosa del genere.
In pratica il mio componente non fa altro che eseguire delle query su diversi DBMS (anche di tipologia differente, prevalentemente MySQL, Postgre e DB2). Per eseguire gli statement sql sui DBMS utilizzo JDBC:
Il punto è: una volta eseguita la query, tutti i record vengono inviati in un singolo blocco dal DBMS e memorizzati nel ResultSet. Qui arriva il mio problema.Codice PHP:
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery( "SELECT * FROM miaTabella" );
Devo lavorare con centinaia di DB e le query vengono eseguite da Thread in parallelo, quindi memorizzare tutti i record della query nel ResultSet potrebbe diventare parecchio pesante da gestire (potrebbero venire eseguite query che restituiscono anche Milioni di record). Volevo sapere se esiste la possibilità di far gestire il risultato della query dal DBMS; mi spiego meglio:
Una volta eseguito lo statement SQL i dati non vengono inviati dal DBMS all'applicativo, ma è il DBMS stesso a tenerli in memoria; vengono inviati all'applicazione solamente quando richiesto dell'applicazione stessa, un record per volta. In questo modo il carico di lavoro sarebbe suddiviso tra tutti i DBMS e si avrebbe un incremento delle prestazioni.
Grazie a tutti quelli che risponderanno