SqlBulkCopy还比Dapper快吗?

时间:2016-09-01 10:00:47

标签: c# performance dapper sqlbulkcopy

我发现Sam Saffron撰写了一篇关于使用Dapperdocumentation on $lookup)进行批量插入的文章,他在文章中结束了该文章:

  

例如,如果您需要一种超快速的方法将大量内容插入到SQL数据库中,那么没有什么比SqlBulkCopy更好的了,您将需要一个自定义API。

这篇文章已有4年多了。

我最近偶然发现了That annoying insert problem getting data into the db using dapper声称能够在2,000毫秒内完成1,000,000行,根据我发现的许多旧的性能文章(例如这一篇),它似乎优于SqlBulkCopy {3}})。

遗憾的是,我的Google-fu未能找到这两种批量导入方法之间的最新性能比较。

问题SqlBulkCopy仍然比Dapper.NET还快吗?

1 个答案:

答案 0 :(得分:7)

免责声明:我是该项目的所有者Dapper Plus

当有足够的实体保存时,SQL Server / Azure的Dapper Plus使用SqlBulkCopy,否则它将使用SQL派生表。

本文是关于实体框架的,但如果您需要更多信息,它与Dapper的策略相同:Entity Framework How to Bulk Insert in SQL Server

因此,我们的库显然没有超越SqlBulkCopy,它具有相同的性能,但我们的库使其更易于使用。

图书馆也支持:

  • BulkUpdate
  • BulkDelete
  • BulkMerge

使用SqlBulkCopy和临时表技巧。