Gibt es etwas schnelleres als INSERT INTO?

MrBean12345

Benutzer
Beiträge
5
Hallo zusammen,

ich generiere über ein Recordset eine große Tabelle. Um die Daten aus dem Recordset in diese Tabelle zu überführen, verwendet ich das INSERT INTO-Statement. Die Tabelle umfasst ca. 650.000 Zeilen * 10 Spalten. Das Statement funktioniert zwar, ist jedoch sehr, sehr langsam (2 Stunden?!?!?!).

Kennt jemand vielleicht eine schnellere Methode?

Vielen Dank vorab.

Anbei noch der Code:



Do While Not Grundgesamtheit.EOF

SQL = "INSERT INTO Temp3(Kostenstelle, ExpenseType_Group, AggregierteKosten, ProfitCenter, Kategorisierung, KundenName, AggregierteErträge)" & _
" VALUES ('" & Grundgesamtheit("Kostenstelle") & "', '" & Grundgesamtheit("ExpenseType_Group") & "', '" & Grundgesamtheit("AggregierteKosten") & "', '" & Grundgesamtheit("ProfitCenter") & "', '" & Grundgesamtheit("Kategorisierung") & "', '" & Grundgesamtheit("KundenName") & "', '" & Grundgesamtheit("AggregierteErträge") & "') "

DoCmd.RunSQL (SQL)

Grundgesamtheit.MoveNext

Loop






LG Euer Mr. Bean
 
Werbung:
ich generiere über ein Recordset eine große Tabelle. Um die Daten aus dem Recordset in diese Tabelle zu überführen, verwendet ich das INSERT INTO-Statement. Die Tabelle umfasst ca. 650.000 Zeilen * 10 Spalten. Das Statement funktioniert zwar, ist jedoch sehr, sehr langsam (2 Stunden?!?!?!).

Kennt jemand vielleicht eine schnellere Methode?

Das kommt MASSIV auf das DB-System an, in PostgreSQL geht es via COPY um Größenordnungen schneller. Du kannst auch Transaktionen zusammenfassen, auch das hilft.
 
Werbung:
Ich kenne Deine Tabellenstruktur nicht aber wie wärs mit einem INSERT SELECT? Ein Insert in einer Schleife ist sehr ineffizient.
 
Zurück
Oben