JDBC- mehrere INSERT auf einmal

JoeBloggs

Mitglied
Hallo,

ich habe mehrere tausend lines die ich in eine datenbank schreiben will.
Zuerst lese ich die Lines aus einer textfile aus und bereite sie auf, dann werden sie an eine datenbank geschickt, anfangs dachte ich es legt an den beiden StringTokenizer, dass ich für 1000 INSERT 49 sec benötige, jetzt habe ich 1000 TokenizerOperationen ohne INSERT laufen lassen und die benötigen nur 100ms.
Also jedesmal wenn ich eine zeile aus meiner Textfile aufbereitet habe schicke ich sie einzeln mit einem INSERT an die Datenbank. Die Verbindung bleibt natürlich bestehen.

Kann ich die INSERT denn im Paket schicken, also 1000 auf einmal oder so? Direkt auf der datenbank geht das ja, aber mit JDBC habe ich es nicht hinbekommen. Oder wie kann ich das ganze noch beschleunigen? So dauert es knapp 55minuten für 70000 lines

Danke
 
Hallo!

anfangs dachte ich es legt an den beiden StringTokenize
Benutze besser String ->split(...)

Kann ich die INSERT denn im Paket schicken, also 1000 auf einmal oder so? Direkt auf der datenbank geht das ja, aber mit JDBC habe ich es nicht hinbekommen. Oder wie kann ich das ganze noch beschleunigen? So dauert es knapp 55minuten für 70000 lines
(Prepared)Statement -> addBatch()...
(Prepared)Statement -> executeBatch()...

Gruss Tom
 
Zurück