Einzelnen Beitrag anzeigen

xcs

Registriert seit: 31. Mär 2008
14 Beiträge
 
#1

Geschwindigkeit Datenbankzugriff (MS Access)

  Alt 31. Mär 2008, 12:04
Datenbank: MS Access • Version: 2003 • Zugriff über: ODBC
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.
  Mit Zitat antworten Zitat