Hallo, ich möchte per SQLQuery (ExecSQL) eine Tabelle einer
Access-Datenbank füllen und frage mich, ob sich das ganze irgendwie beschleunigen lässt oder ob
Access zu langsam ist oder ob es prinzipiell nicht schneller geht:
Ich habe eine sehr große Datenmenge (250.000 - 1.000.000 Datensätze zu jeweils 120 Feldern).
Mein Vorgehen ist wie folgt:
Delphi-Quellcode:
for i := 0 to 500000 do
begin
strSQL := 'Insert into Table1 (field1, field2, ..., field120) values (value1, value2, ..., value120)';
query1.SQL.Clear;
query1.SQL.Add(strSQL);
query1.ExecSQL
end;
Dabei dauert ein Schleifendurchlauf ca. 30-40 ms. Heißt also, bei 500.000 Datensätzen schon über 4 Stunden!
Wenn ich die Daten einfach per Semikolon getrennt in eine Textdatei schreibe, dauert ein Durchlauf weniger als 1 ms.