【问题标题】:SQL Server and bulk insert - when it will happenSQL Server 和批量插入 - 何时发生
【发布时间】:2016-07-06 12:37:24
【问题描述】:

我的问题是在向表中插入行时何时可以进行批量插入? 我知道我们有时可以限制批量插入,但我听说如果 sql server 不能进行批量插入,那就不会发生。

什么时候可能发生,什么时候不可能发生?

当我们通过 SSIS 加载数据时,例如OLE DB 目标组件具有快速加载选项,通过检查事务日志,我们可以看到批量插入正在发生(事务日志增长非常少),但有时它没有发生。为什么?批量插入的条件是什么?

我正在 SQL Server 2012 开发人员版中检查这一点。

【问题讨论】:

  • 有什么问题/问题...是为什么日志大小正在改变还是其他日志大小取决于数据大小+服务器中的其他活动..

标签: sql-server ssis insert bulkinsert


【解决方案1】:

当您进行批量插入时,它总是会进行批量插入。它可能会出错,但它不能“不发生”。您实际上指的是批量插入是否会最少记录。尽管这些概念是相关的,但这是一个非常不同的问题。我不会在这里重申最少记录操作的要求。相反,我敦促您阅读已经存在的关于该主题的非常好的文档:

请注意,SQL Server 2008、2012、2014 和 2016 之间存在一些差异,因为这是一个开发领域,并且在更高版本中取消了之前的一些限制。阅读上面链接中的文章。上一篇链接的文章“数据加载性能指南”是关于该主题的参考资料。

【讨论】:

  • 非常感谢!现在我明白了什么是“批量”插入。因此,我假设当满足最小日志记录的条件时,即使没有明确指示“DO BULK INSERT”也会发生这种情况?我当然会阅读文档,谢谢!
猜你喜欢
  • 2010-09-24
  • 1970-01-01
  • 1970-01-01
  • 2011-08-21
  • 2021-06-05
  • 1970-01-01
  • 1970-01-01
  • 2020-05-09
相关资源
最近更新 更多