Schreiben einer großen Anzahl von Datensätzen (Masseneinfügung) in Access in .NET/C#
Beim Durchführen von Masseneinfügungen in eine MS Access-Datenbank aus .NET erweist sich die Verwendung von DAO oft als schneller als die Verwendung von ADO.NET.
Die Verwendung von DAO für Verbesserte Leistung
Der Zugriff auf Tabellenspalten über DAO-Felder in Verbindung mit der Deaktivierung von Transaktionen optimiert den Einfügungsprozess. Der empfohlene Ansatz und die empfohlenen Zeitvorgaben lauten wie folgt:
-
2,8 Sekunden:Verwenden Sie DAO zusammen mit DAO.Fields, um Tabellenspalten zu referenzieren und Transaktionen zu deaktivieren.
-
11,0 Sekunden: Nutzen Sie DAO und verweisen Sie mit deren auf Spalten Index.
-
17,0 Sekunden:Verwenden Sie DAO, während Sie auf Spalten nach Namen verweisen.
Andere Ansätze mit langsamerer Leistung
-
79,0 Sekunden: Generieren Sie individuelle INSERT-Anweisungen für jede Zeile mit ADO.NET.
-
86,0 Sekunden: Verwenden Sie ADO.NET mit einer DataTable und einem DataAdapter für die „Batch“-Einfügung (wird von Access nicht unterstützt).
-
2,8 Sekunden: In eine Textdatei schreiben und mithilfe der Automatisierung in Access importieren (fragil Methode).
Warum sich DAO für große Datensatzeinfügungen auszeichnet
- Direkter Zugriff auf Tabelleneigenschaften, einschließlich Spalten und deren Typen.
- Vereinfachte Transaktionsabwicklung.
- Reduzierter Overhead im Vergleich zu ADO.NET.
Zusätzliche Beobachtungen
- Die Verwendung von DAO.Fields für den Zugriff auf Spalten beschleunigt den Prozess erheblich.
- Transaktionen kann von Vorteil sein, kann aber bei kleinen Chargengrößen zu Mehraufwand führen.
- Spalten referenzieren nach Index statt Name verbessert die Leistung.
Das obige ist der detaillierte Inhalt vonWie kann ich die schnellste Masseneinfügung von Datensätzen in MS Access aus .NET/C# erreichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!