Bonjour,
Mon appli java doit copier des données d'une base vers une autre.
Concrètement j'ai deux connections, d'un coté je fais un select et de l'autre un insert.Jusque la tout va bien.
Mon soucis : certaines tables contiennent des GROS BLOBs et là :
"Exception in thread "main" java.lang.OutOfMemoryError: Java heap space"
Sur mon poste ca passe en changeant les paramètres de la JVM :
"-Xms256m -Xmx1024m"
Mais une fois en prod ca ne sera pas toujours possible, il faut que j'economise de la mémoire. Voici quelques questions que je me suis posées, pour lesquelles je n'ai pas encore trouvé les réponses :
quand j'exécute :
Le ResultSet contient il en mémoire l'ensemble des résultats ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part resultSet = statement.executeQuery(query);
Si oui, peut on faire en sorte qu'il les charge "au fur et à mesure" ?
Pour les insertions j'ai désactivé l'autocommit, l'ensemble des inserts non validés (commit) sont il chargés en mémoire coté JVM ?
Partager