6 database-design ssis sql-server-2008-r2
我在周末为一位客户分析了一个 C# 程序,该程序基本上执行以下操作:
大多数情况下 (1) 和 (2) 是通过存储过程调用完成的。我相信 SSIS 会更有效地处理这个过程。我的最终结果是确定 SSIS 是否可以做得更好,然后是设计包的最有效方法。
问题
在有大量记录的情况下,当 (2) 和 (3) 是同一个实例上的同一个数据库时,SSIS 会通过 BULK INSERT 任务获得更好的性能吗?或者只是将 (2) 中的过程调用更改为 a INSERT INTO
,以消除对 (3) 的需求?
在 (2) 是远程源(同一网络上的另一个 SQL 实例)的情况下,SSIS 是否比通过 .NET SQLClient 更有效地处理从远程源提取数据?我不认为有很大的不同。
同样,当(2)是一个数据量相当大(800万+)的远程源时,最好在远程实例上有一个包导出数据;然后将该文件移动到目标服务器并批量加载它?
小智 4
对于800万行,我认为SSIS和SQLBulkCopy类之间不会有太大区别。在SSIS中,您必须确保在OLE DB目标中使用快速加载选项,否则肯定会更慢。如果源是本地的,您可以尝试 SQL Server 目标,它可能比 OLE DB 目标快一点。
归档时间: |
|
查看次数: |
2047 次 |
最近记录: |