【问题标题】:How to Improve the speed of the data transfer In SSIS如何提高 SSIS 中数据传输的速度
【发布时间】:2017-01-26 20:30:48
【问题描述】:

我有一个大约有 700,000 行的表。它有 11 列,其中一列是 varchar(max)) 列,它有 xml 数据。 现在我必须将这些数据从一台服务器传输到另一台服务器。我在 SSIS 包上做了以下操作。 我编写了查询以在单个数据流任务中获取前 100,000 个,并且对于每 100,000 个数据流任务,我添加了一个数据流任务,并将 defaultbuffersize 修改为 (10 MB - 100 MB) 并将 defaultbufferRow 设置为低和高, 但是查询表需要很长时间,但是写入数据却如此之快。我尝试删除 varchar(max) 列,它甚至不需要 5 分钟。

因此,添加 varchar 列大约需要 13 小时。

在我也通过数据集尝试使用 .Net 代码后,bulkinsert 并使用 TPL 来利用我所有的处理器。但我看不到任何重大差异。

任何帮助将不胜感激。

【问题讨论】:

    标签: ssis dataset bulkinsert data-transfer


    【解决方案1】:

    700000 不是很多行。 你真的需要 varchar(max) IE。 len() 是否曾经超过 8000? 如果不是 - 将其转换为 varchar(8000) 那么缓冲区大小会更小。 网络 I/O 可能是个问题吗? 例如,您是否将数据从我们转移到欧洲并再次返回。在这种情况下,将您的网络数据包大小增加到 33k。 在现代硬件上,传输这些数据的时间不应超过 1 小时。我希望10分钟! 一个很好的测试是传输到没有索引或约束的空表需要多长时间。 如果这很快,那么您应该看到问题所在。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-23
      • 2019-04-28
      • 2012-11-19
      • 2019-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多