【问题标题】:SQL data Insertion slow through ssisSQL数据通过ssis插入慢
【发布时间】:2016-09-08 09:42:04
【问题描述】:

我正在将数据从 ssis 插入到 Table1 中。数据每分钟加载速度非常慢(5-10k 记录)正在插入我在目标任务中选择了快速加载选项,该选项也没有帮助我。

在同一服务器中,另一个表(表 2)的数据加载速度非常快,与表 1 相比,它具有更多的数据和更多的索引。

为什么Table1数据插入慢?

请帮帮我。

【问题讨论】:

  • 表定义、索引、触发器等?

标签: sql ssis


【解决方案1】:

加载包速度变慢的原因可能多种多样。通常,它们与内存、目的地、索引、日志等有关。您是否尝试过等效查询的性能?如果这样更好,您可以使用Execute SQL Task 而不是data flow task

在您的包中,您是否有 OLE DB Command 转换或其他完全阻塞的转换,例如 fuzzy lookupfuzzy grouping?因为 OLE DB 命令转换是逐行进行的,所有完全阻塞的转换都会产生大量开销。

您似乎正在使用 OLE DB 目标,因此您可以相应地更改 MICS(最大插入提交大小)和 RPB(每批行数)。因为如果你在目标表上有聚集索引,那么大批量会对内存产生负面影响。

【讨论】:

  • 感谢您的回复。我正在使用 oledb 源和 oledb 目标,我保留了 mics(1000000) 和 RPB(100000) 选项。在源和目标之间,我使用查找来避免重复。在我禁用索引并加载的表上应用了总共 5 个索引(非聚集),插入发生得非常快。如果启用了一个索引,则数据插入的速度也很慢。有什么我需要检查索引的吗
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-15
  • 2014-08-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多