Ok, se così chiaramente il precaricamento non è la soluzione.Originariamente inviato da nanopeppe
Un'ArrayList non sarebbe corretta perché se in una delle due tabelle ho un milione di righe rischio l'Heap Memory
Non cambia nulla. Un PreparedStatement serve solo per gestire una istruzione SQL "precompilata" per poter essere eseguita più volte efficientemente (e con la possibilità di iniettare parametri) ma non cambia il modo di gestire poi la scansione dei record.Originariamente inviato da nanopeppe
E se usassi una PreparedStatement al posto delle Statement?
Secondo me, o riesegui proprio la query ad ogni ciclo esterno oppure fai creare un result set che non sia "forward-only" (vedi le varianti di createStatement in Connection) in modo da poter riportare il cursore all'inizio.
P.S. E se un result set può essere "scrollabile" o no, dipende anche dal DBMS e dal driver JDBC sottostante. Quindi verifica anche questo.