Vous n'êtes pas identifié(e).
Pages : 1
Bonjour,
Dans mon application Java je fais des INSERT en batch avec :
preparedStatement.addBatch();
et tous les XXX je fais :
preparedStatement.executeBatch();
J'utilise le JDBC Driver 42.7.5 en production, pas de soucis mais à partir de la version 42.7.7 (je n'ai pas testé la version 42.7.6 parce que noté avec une vulnérabilité sur Maven!?)
J'ai fais le test plusieurs fois avec des données différentes...
La vitesse passe de +- 5500/sec (42.7.5) à +- 200/sec (42.7.7 ou plus)
N'ayant rien changé à mon code Java cela vient à coup sûr du JDBC Driver
Une idée ?
Merci d'avance.
Hors ligne
Bonjour,
À ma connaissance, rien n'a changé dans cette partie du code entre ces deux versions. Le mieux serait de regarder dans les logs du côté de PostgreSQL ce qui change entre les deux versions, pour le même traitement. Avec un log_min_duration_statement=0 par exemple, pour que PostgreSQL trace tous les prepare/bind/execute avec leur timing.
Marc.
Hors ligne
J'ai publié ma question sur le Github du connecteur JDBC et ils m'ont aidé à trouver le problème.
A des fin de débug je faisais un preparedStatement.toString() dans ma boucle de préparation de batch. En l'enlevant la vitesse est correcte.
Ce qui est étrange est que le toString n'a pas d'impact avec la version 42.7.5 et antérieur...
Hors ligne
Pages : 1