Ich fand einen Artikel von Sam Saffron über Masseneinfügung mit Dapper
( Dieses lästige Einfügungsproblem, das Daten in die DB unter Verwendung des dapper holt ), wo er den Artikel mit der Aussage beendet:
Zum Beispiel, wenn Sie eine sehr schnelle Möglichkeit benötigen, um viele Sachen in eine SQL-DB einzufügen, wird nichts SqlBulkCopy schlagen und Sie werden eine benutzerdefinierte API dafür brauchen.
Der Artikel ist über 4 Jahre alt.
Ich bin vor kurzem auf Dapper Plus gestoßen, die behauptet, in 1.000.000 Zeilen 1.000.000 Zeilen zu tun, die SqlBulkCopy
basierend auf vielen alten Leistungsartikeln, die ich gefunden habe (wie diesem - ORMs für Batch-Daten auswerten ) zu übertreffen SqlBulkCopy
.
Mein Google-Fu hat leider keine neueren Leistungsvergleiche zwischen diesen beiden Massenimportmethoden gefunden.
Frage: Ist SqlBulkCopy
immer noch schneller als Dapper.NET
?
Disclaimer : Ich bin der Inhaber des Projektes Dapper Plus
Dapper Plus für SQL Server / Azure verwendet SqlBulkCopy im Hintergrund, wenn genügend Entitäten zum Speichern vorhanden sind. Andernfalls wird eine SQL-abgeleitete Tabelle verwendet.
In diesem Artikel geht es um Entity Framework, aber es ist die gleiche Strategie für Dapper, wenn Sie weitere Informationen wünschen: Entity Framework Vorgehensweise zum Masseneinfügen in SQL Server
Also, unsere Bibliothek übertrifft SqlBulkCopy offensichtlich nicht, es ist die gleiche Leistung, aber unsere Bibliothek macht es einfacher zu benutzen.
Die Bibliothek unterstützt auch:
Verwenden von SqlBulkCopy und temporäre Tabellentricks.