SqlBulkCopy è ancora più veloce di Dapper?

c# dapper performance sqlbulkcopy

Domanda

Ho trovato un articolo di Sam Saffron sull'inserimento di massa con Dapper (il fastidioso problema con l'inserimento dei dati nel db usando dapper ) dove termina l'articolo con la frase:

Ad esempio, se hai bisogno di un modo ultra veloce per inserire un sacco di cose in un DB SQL, niente supererà SqlBulkCopy e avrai bisogno di un'API personalizzata per questo.

L'articolo ha più di 4 anni.

Recentemente mi sono imbattuto in Dapper Plus che afferma di essere in grado di fare 1.000.000 di righe in 2.000ms che sembra sovraperformare SqlBulkCopy sulla base di molti vecchi articoli di prestazioni che ho trovato (come questo - Valutare gli ORM per i dati batch ).

Purtroppo il mio Google-fu non è riuscito a trovare confronti più recenti sul rendimento tra questi due metodi di importazione in blocco.

Domanda: SqlBulkCopy è ancora più veloce di Dapper.NET ?

Risposta accettata

Disclaimer : sono il proprietario del progetto Dapper Plus

Dapper Plus per SQL Server / Azure utilizza SqlBulkCopy sotto il cofano quando ci sono abbastanza entità da salvare altrimenti utilizzerà una tabella derivata SQL.

Questo articolo riguarda Entity Framework, ma è la stessa strategia per Dapper se vuoi maggiori informazioni: Entity Framework Come inserire in massa in SQL Server

Quindi, la nostra libreria ovviamente non supera SqlBulkCopy, è la stessa performance, ma la nostra libreria lo rende più facile da usare.

La libreria supporta anche:

  • BulkUpdate
  • BulkDelete
  • BulkMerge

utilizzando i trucchi SqlBulkCopy e Temporary Table.



Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché