首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >大小为1的MsSql大容量插入与简单插入

问大小为1的MsSql大容量插入与简单插入
EN

Database Administration用户
提问于 2016-03-30 16:17:18
回答 1查看 408关注 0票数 0

使用SSIS目标,使用提交大小为1的快速加载与不使用快速加载选项的插入有什么不同。

我理解使用快速加载将调用bulk insert命令,而第二个选项只是简单的insert。实际的问题是,是否有任何性能开销来执行最大提交大小等于1的大容量插入。

我们将非常感谢对每一种情况下所发生的事情的解释,以及从2008年开始,不同版本之间是否存在任何差异。

EN

回答 1

Database Administration用户

发布于 2016-03-30 23:15:06

通过批量插入技术的单例插入比普通的单例插入要慢得多。为了准备大容量插入,客户端API必须首先发送列元数据,描述后面的表格数据流,这是一个不需要普通插入的任务。当流多行数据时,性能的提高抵消了这一开销,但在传递单个行时则不然。有关TDS协议规范的详细信息,请参阅https://msdn.microsoft.com/en-us/library/dd304523.aspx。

几年前,我对insert性能进行了测试,发现使用SqlBulkCopy的单行批量插入性能平均为每秒500行,而插入为每秒1800行。对于100行批处理,批量插入平均超过10K/秒,而单线程单例插入则为3.5K。我希望与SSIS中常用的IRowsetFastLoad OLE DB接口有类似的区别。

票数 3
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/133851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档