Manière efficace de faire des lots INSÈRE avec JDBC

Dans mon application, j'ai besoin de faire beaucoup de plaquettes. Ses une application Java et je suis en utilisant la plaine de JDBC pour exécuter les requêtes. La DB être Oracle. J'ai activé le traitement par lots, donc il me permet de gagner les latences réseau pour exécuter des requêtes. Mais les requêtes exécuter en série en tant que distincts des Insertions:

insert into some_table (col1, col2) values (val1, val2)
insert into some_table (col1, col2) values (val3, val4)
insert into some_table (col1, col2) values (val5, val6)

Je me demandais si la forme suivante de l'INSERT peut être plus efficace:

insert into some_table (col1, col2) values (val1, val2), (val3, val4), (val5, val6)

c'est à dire l'effondrement de plusieurs Insère dans un.

Tout autres conseils pour faire de lot Insère plus vite?

  • WOW! J'ai testé votre "effondrement de plusieurs insère dans un" lors de l'insertion de SQL Server, et je suis passé de 107 lignes/seconde à 3333 lignes par seconde!
  • C'est un superbe 31x augmentation.
InformationsquelleAutor Aayush Puri | 2010-09-24