我发现Sam Saffron撰写了一篇关于使用Dapper
(documentation 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
还快吗?
答案 0 :(得分:7)
免责声明:我是该项目的所有者Dapper Plus
当有足够的实体保存时,SQL Server / Azure的Dapper Plus使用SqlBulkCopy,否则它将使用SQL派生表。
本文是关于实体框架的,但如果您需要更多信息,它与Dapper的策略相同:Entity Framework How to Bulk Insert in SQL Server
因此,我们的库显然没有超越SqlBulkCopy,它具有相同的性能,但我们的库使其更易于使用。
图书馆也支持:
使用SqlBulkCopy和临时表技巧。