J'ai remarqué le comportement suivant.
J'ai un fichier d'environ 3 Mo contenant plusieurs milliers de lignes. Dans ces lignes, je divise et crée des instructions préparées (environ 250 000 instructions).
Ce que je fais, c'est :
preparedStatement
addBatch
do for every 200 rows {
executeBatch
clearBatch().
}
à la fin
commit()
L'utilisation de la mémoire augmente jusqu'à environ 70 mb sans erreur de mémoire. Est-il possible de réduire l'utilisation de la mémoire ? et d'avoir le comportement transactionnel (si un échec, tous les échecs.). J'ai pu réduire la mémoire en faisant un commit avec l'option executeBatch
et clearBatch
... mais cela entraînera une insertion partielle de l'ensemble.