我发现Sam Saffron撰写了一篇关于使用Dapper(
That annoying insert problem getting data into the db using dapper)进行批量插入的文章,他在文章结束时声明:
For example,if you need an ultra fast way to insert lots of stuff into a sql DB,nothing is going to beat sqlBulkCopy and you are going to need a custom API for that.
这篇文章已有4年多了.
我最近偶然发现Dapper Plus声称可以在2000毫秒内完成1,000,000行,根据我发现的许多旧性能文章(例如这个 – Evaluating ORMs for batch data),它似乎胜过sqlBulkCopy.
遗憾的是,我的Google-fu未能找到这两种批量导入方法之间的最新性能比较.
问题:sqlBulkCopy还是比Dapper.NET快吗?
解决方法
免责声明:我是
Dapper Plus项目的所有者
当有足够的实体保存时,sql Server / Azure的Dapper Plus使用sqlBulkCopy,否则它将使用sql派生表.
本文是关于实体框架的,但如果您需要更多信息,它与Dapper的策略相同:Entity Framework How to Bulk Insert in SQL Server
所以,我们的库显然没有超越sqlBulkCopy,它的性能相同,但我们的库使它更容易使用.
该图书馆还支持:
> BulkUpdate
> BulkDelete
> BulkMerge
使用sqlBulkCopy和临时表技巧.