PreparedStatement.addBatch en java a des restrictions?
Je suis en train d'optimiser le processus de l'insertion d'un grand nombre de résultats à une base de données mySQL distante. Je suis à l'aide de simples jdbc pour que.
Actuellement, je suis en remplacement de la sortie de déclarations avec PreparedStatement et d'exécuter des méthodes avec addBatch/executeBatch méthodes. Personne ne sait quelles sont les limites d'un lot de l'exécution? Combien de lots puis-je ajouter avant l'exécution pour faire en sorte que le processus n'a pas été un échec? Les requêtes ne sont pas les requêtes spéciales, ils n'ont pas de gouttes ou d'autres grands champs.
Vous devez vous connecter pour publier un commentaire.
@BalusC frappé le clou sur la tête. Si vous utilisez MySQL, utilisez le pilote le plus récent ajout rewriteBatchedStatements=true à votre chaîne de connexion pour faire de déclaration.addBatch() de créer réellement du lot s'insère.
Belle présentation sur JDBC MySQL performance:
http://assets.en.oreilly.com/1/event/21/Connector_J%20Performance%20Gems%20Presentation.pdf