Hi,
ich versuche gerade in eine Derby Datenbank 200000 Zeilen und mehr einzufügen. Bis zu 10000 Zeilen funktioniert das auch in einer annehmbaren Geschwindigkeit aber alles jenseits von 50000 Zeilen dauert extrem lange. Ich hab zum Beispiel versucht 200000 Zeilen einzufügen und hab den Versuch nach etwas mehr als 10min abgebrochen weils einfach zu lange dauert.
Liegt es an meinem Sourcecode? Ich kann mir eigentlich nicht vorstellen, dass Derby schon bei 50000 Zeilen Probleme bekommt.
Hier also der Sourcecode mit dem ich in die Datenbank einfüge:
trows = Anzahl der einzufügenden Zeilen (long)
in = BufferedReader(FileReader(File))
Die Tabelle Vergleich wird mit folgendem sql Befehl angelegt:
CREATE TABLE Vergleich(KVNr INTEGER,UKVNr INTEGER,AG INTEGER,GNR VARCHAR(7),Quartal INTEGER,Jahr INTEGER,VerglWert REAL,Anzahl REAL,Faelle REAL,Fikt INTEGER,Neu INTEGER,Arztnummer VARCHAR(10),PKey BIGINT NOT NULL GENERATED ALWAYS AS IDENTITY(START WITH 1,INCREMENT BY 1))
Die Datei beinhaltet INSERT INTO Statements. Diese Statements sehen alle folgendermaßen aus:
INSERT INTO Vergleich(KVNr,UKVNr,AG,GNR,Quartal,Jahr,VerglWert,Anzahl,Faelle,Fikt,Neu,Arztnummer) VALUES(1,1,14,'01100',2,2005,0.5847411,189.0,0.0,1,0,null)
Ich würde mich freuen, wenn mir jemand von euch einen Tipp geben könnte an welcher Stelle mein Denkfehler liegt.
Vielen Dank im voraus
Gruß
Paladin
ich versuche gerade in eine Derby Datenbank 200000 Zeilen und mehr einzufügen. Bis zu 10000 Zeilen funktioniert das auch in einer annehmbaren Geschwindigkeit aber alles jenseits von 50000 Zeilen dauert extrem lange. Ich hab zum Beispiel versucht 200000 Zeilen einzufügen und hab den Versuch nach etwas mehr als 10min abgebrochen weils einfach zu lange dauert.
Liegt es an meinem Sourcecode? Ich kann mir eigentlich nicht vorstellen, dass Derby schon bei 50000 Zeilen Probleme bekommt.
Hier also der Sourcecode mit dem ich in die Datenbank einfüge:
trows = Anzahl der einzufügenden Zeilen (long)
in = BufferedReader(FileReader(File))
Code:
for(i1=0;i1<trows;i1++) {
try {
hsqlstatement.execute(in.readLine());
} catch (Exception e) {
e.printStackTrace();
}
}
Die Tabelle Vergleich wird mit folgendem sql Befehl angelegt:
CREATE TABLE Vergleich(KVNr INTEGER,UKVNr INTEGER,AG INTEGER,GNR VARCHAR(7),Quartal INTEGER,Jahr INTEGER,VerglWert REAL,Anzahl REAL,Faelle REAL,Fikt INTEGER,Neu INTEGER,Arztnummer VARCHAR(10),PKey BIGINT NOT NULL GENERATED ALWAYS AS IDENTITY(START WITH 1,INCREMENT BY 1))
Die Datei beinhaltet INSERT INTO Statements. Diese Statements sehen alle folgendermaßen aus:
INSERT INTO Vergleich(KVNr,UKVNr,AG,GNR,Quartal,Jahr,VerglWert,Anzahl,Faelle,Fikt,Neu,Arztnummer) VALUES(1,1,14,'01100',2,2005,0.5847411,189.0,0.0,1,0,null)
Ich würde mich freuen, wenn mir jemand von euch einen Tipp geben könnte an welcher Stelle mein Denkfehler liegt.
Vielen Dank im voraus
Gruß
Paladin