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!
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn