gpt4 book ai didi

sql-server - SSIS 处理大量平面文件的速度非常慢

转载 作者:行者123 更新时间:2023-12-02 02:01:23 24 4
gpt4 key购买 nike

我从我们的一位合作伙伴那里收到了大约 10,000 个制表符分隔的小文本文件,每个文件中有 +/- 30 条记录。他们不可能将它放在一个大文件中交付。

我在 ForEach 循环容器中处理这些文件。读取文件后,进行4列推导,最后将内容存储到SQL Server 2012表中。

此过程最多可能需要两个小时。

我已经尝试将小文件处理成一个大文件,然后将这个文件导入同一个表中。这个过程需要更多时间。

有人对加快处理速度有什么建议吗?

最佳答案

有一件事听起来有违直觉,那就是将您的一个派生列转换替换为 4 个,并让每个派生列执行一项任务。这可以提供性能改进的原因是,如果引擎可以确定这些更改是独立的,则它可以更好地并行化操作。

可能遇到网络延迟,因为您正在引用远程服务器上的文件。也许您可以通过在处理之前将这些远程文件复制到本地框来提高性能。您感兴趣的性能计数器是

  • 网络接口(interface)/当前带宽
  • 网络接口(interface)/字节总数/秒
  • 网络接口(interface)/传输/秒

您可以做的另一件事是用行计数转换替换目标列和派生列。对所有文件运行程序包几次,这将决定您的理论最大速度。你将无法比这更快。然后添加您的 Derived 列并重新运行。这应该有助于您了解性能下降是由于目标、派生列操作还是包运行速度与 IO 子系统一样快。

关于sql-server - SSIS 处理大量平面文件的速度非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17087883/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com