首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sqlbulkcopy批处理大小与数据表中的行数的关系

问sqlbulkcopy批处理大小与数据表中的行数的关系
EN

Stack Overflow用户
提问于 2012-03-15 22:42:46
回答 1查看 842关注 0票数 1

我需要确保每个批次都是完全满的吗?例如,如果我有一个有12028行的数据表,我是否可以只使用10k的批处理大小,它会自动创建两个批处理,一个10k in,一个2028年in?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-15 22:58:52

根据MSDN: SqlBulkCopy.BatchSize的说法--

如果在未使用UseInternalTransaction选项的情况下声明SqlBulkCopy实例,则会一次将行发送到服务器BatchSize行,但不会执行与事务相关的操作。如果UseInternalTransaction生效,则将每批行作为单独的事务插入。

可以随时设置BatchSize属性。如果已在进行海量复制,则会根据以前的批处理大小调整当前批处理的大小。后续批处理将使用新大小。如果BatchSize最初为零,并且在WriteToServer操作已经在进行时发生了更改,则该操作会将数据作为单个批处理加载。同一SqlBulkCopy实例上的任何后续WriteToServer操作都将使用新的BatchSize。

基于这些信息,我倾向于认为,将批处理大小设置为10k行,并提供12k+,将创建多个批处理。

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

https://stackoverflow.com/questions/9722083

复制
相关文章

相似问题

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