【发布时间】:2016-09-01 10:00:47
【问题描述】:
我找到了 Sam Saffron 的一篇关于批量插入的文章,使用 Dapper (That annoying insert problem getting data into the db using dapper) 他在文章结尾处声明:
例如,如果您需要一种超快速的方式将大量内容插入到 SQL DB 中,那么 SqlBulkCopy 是无可匹敌的,您将需要一个自定义 API。
文章已超过 4 年。
我最近偶然发现了Dapper Plus,它声称能够在 2,000 毫秒内执行 1,000,000 行,根据我发现的许多旧性能文章(例如这篇文章 - Evaluating ORMs for batch data),这似乎优于 SqlBulkCopy。
不幸的是,我的 Google-fu 未能找到这两种批量导入方法之间的最新性能比较。
问题:SqlBulkCopy 仍然比Dapper.NET 快吗?
【问题讨论】:
-
它不是开源的,但鉴于Performance Tuning wiki 说您可以自定义
SqlBulkCopyOptions,我建议它的SQL Server 实现是SqlBulkCopy的包装器。 -
我认为您正在查看错误的库。他们也有一个标准 ADO.NET 库。我可能链接错了。
-
我认为它们都基于相同的东西,但here's the Dapper Plus specific one。
-
使用 Dapper Plus - Mapper 虽然不是 Dapper Plus - Actions,特别是 github.com/zzzprojects/Dapper-Plus/wiki/dapper-plus-bulk-insert
-
根据the introduction,它们似乎相互交织:Dapper Plus Mapper 允许将概念模型(实体)与存储模型(数据库)映射并配置选项以执行批量操作。 i>.
标签: c# performance dapper sqlbulkcopy dapper-plus