【发布时间】:2019-12-23 03:27:41
【问题描述】:
我从 sql server A 到 B 中提取了 5 个表。每次提取都是一个连接多个表的查询。
我通常在 sql server 导入向导中运行这些提取。我现在将它们放在 SSIS(5 个并行提取)中,我注意到它要慢得多(至少慢 50 倍)。
我想知道我是否在这里执行流行/最佳实践?并知道为什么它很慢?谢谢
感谢大家的讨论
我按照JodyT的思路,从导入向导生成了SSIS,发现了不同:
在目标中我应该使用Table or view - fast load - 当我从Table or view 更改为此时,我的速度类似于导入向导。
【问题讨论】:
-
所有表是否都位于同一个数据库中(源?目标?),表是否存储在一个文件组中?如果有很多文件组,它们是否位于同一个硬盘上?源服务器和目标服务器的规格是什么?
-
导入和导出向导创建并执行一个 SSIS 包。您可以保存此包并检查它以查看数据是如何导入的。
-
您是在测量挂钟时间还是 CPU(包括 I/O)时间?
标签: sql-server optimization ssis etl sql-import-wizard