什么是最好的方式插入,更新批量记录从后面的代码到MS SQL?插入批处理记录
插入批处理记录
回答
根据INSERT,SqlBulkCopy是将数据批量加载到SQL Server的最快方法。我已经在博客上介绍了如何使用它/演示了性能here - 与使用SqlDataAdapter通过SqlDataAdapter.Update和SqlDataAdapter.InsertCommand一起发送批量插入的另一种方法相比。
在UPDATE方面,一种技术是使用SqlBulkCopy将数据批量加载到数据库中的“临时”临时表中。然后,从该临时表中运行基础表的更新。或者,您可以使用SqlDataAdapter.Update方法与SqlDataAdapter.UpdateCommand一起使用。对于原始吞吐量,SqlBulkCopy(仅限INSERT)是理想的方式。但是,为了处理特定记录的错误,SqlDataAdapter方法很好,因为您可以告诉它在发生故障时继续向数据库发送行(例如,如果您在特定记录上遇到约束错误,则可以选择ContinueUpdateOnError ,然后在最后确定那些没有错误。
怎么样的LINQ to SQL? – user335160 2010-06-25 08:43:26
我已经更新了我的答案。 – IsmailS 2010-06-25 08:51:42
这只是一个批量更新和删除。 – user335160 2010-06-25 09:55:43
- 1. ASP.Net LINQ批处理插入记录到表
- 2. 批量记录插入
- 3. 批量插入记录Slick
- 4. angularjs ngrepeat插入批处理
- 5. 在neo4j批处理插入
- 6. Mule批处理 - 在批处理块中处理记录并汇总到文件
- 7. 按Mule批次顺序处理记录
- 8. 批处理脚本键盘记录器
- 9. 事件日志记录系统在PHP批处理插入事件
- 10. Java - JDBC插入批处理状态-2但存在于DB中的记录
- 11. 批量插入3M记录的SQLExpress
- 12. 用Mongoid批量插入多个记录?
- 13. 批量插入数亿条记录
- 14. 在SQL Server中插入批量记录
- 15. 处理场终止对批量插入
- 16. 插入批处理数据数组?
- 17. 使用批处理语句插入Cassandra
- 18. Alia是否支持插入批处理
- 19. 在sql中处理批量插入
- 20. JDBC批量插入异常处理
- 21. 安全插入批处理? codeigniter
- 22. Codeigniter - 插入批处理 - 我的sql
- 23. mysql与str_to_date插入到批处理
- 24. Spring批量读取多条记录并处理多条记录
- 25. 弹簧批处理 - 在处理中跳过记录
- 26. 错误处理零记录与拆分批处理:mule esb
- 27. 在jdbc批处理中处理100,000条记录更新
- 28. &符号与输入记录中的批处理文件问题
- 29. 单记录与批量记录插入 - 实体框架
- 30. 处理记录
嗨,先生,非常感谢你,是ms sql 2008能够接受强类型对象列表的参数,例如List。因为我认为2k8能够传递参数类型的数据表。 –
user335160
2010-06-25 09:18:16
@crisgomez - SQL Server 2k8确实支持表值参数 - 所以你可以通过在一张数据表中,我也做过博客技术(将其与CSV和XML方法进行比较):http://www.adathedev.co.uk/2010/02/sql-server-2008-table-valued-parameters.html 与SqlBulkCopy等相比,我没有知道什么性能是真正的大容量数据 - 将是基准的东西,它可能会打tempdb更多 – AdaTheDev 2010-06-25 09:46:54
那么强类型列表的对象,例如列表,将MS SQL 2K8能够传递? –
user335160
2010-06-25 09:52:09