pourquoi le printemps jdbcTemplate batchUpdate insérer une ligne par ligne

J'ai 200K lignes à insérer dans une seule table de base de données. J'ai essayé d'utiliser jdbcTemplate.batchUpdate au printemps afin de faire de l'insertion de 10 000 par lot. Cependant, ce processus consomme trop de temps (7 minutes pour 200K lignes). Donc, sur la base de données côté, je vérifie le nombre de lignes insérées par select count(*) from table_X. J'ai trouvé le nombre de lignes légèrement augmenté instaed de 10K prévu. Quelqu'un peut-il expliquer ce que la raison ou est-ce quelque chose qui devrait être configurés sur le côté de la Base de données ?

PS: je suis à l'aide de sybase ....

Afficher votre code, utilisez-vous la BatchPreparedStatementSetter ? Êtes-vous à l'aide de @Transactional annotation sur votre service ou DAO?
Au lieu d'utiliser le printemps, je suis passé à la native api jdbc et les poignées de la transactioin moi-même. Il fonctionne maintenant. bien que cela reste très lent....
effectivement j'ai enlevé @Transactional annotation qui pourrait causer le problème....Mais je l'ai enlevé afin d'accélérer le inseration. ...Il ne l'a pas aider
Vérifiez le paramètre de connexion jdbc, ne me souviens pas mais il y a certains paramètres qui ont aidé à accélérer le traitement...
en fait, ma connexion jdbc est obtenu par l'intermédiaire d'jdbcTemplate qui a été construit par le Printemps. J'ai tenté de EnableBulkLoad paramètre dans le fichier de configuration...mais il ne fonctionne pas ou ce paramètre n'a pas été correctement programmés. 🙁

OriginalL'auteur Ensom Hodder | 2016-09-19