对于SSIS我是一个新手我正在构建一个小包,它将处理大约12米的行并将它们插入到2个表(父子)中。源和目标是SQL Server。
许多计算必须使用大量嵌套逻辑执行。我想知道最好的/推荐的方法是什么。我看到它的选项是使用CASE WHEN语句将计算包含到源存储过程中,在派生列组件中执行逻辑和计算,或者在脚本组件中执行所有计算。我倾向于在所有属性的1个脚本组件中包含所有逻辑和计算,因为与其他2个方法相比,这对我来说更容易维护,并且与包含源查询中的计算相比,我相信更快。大约有30个计算列。数学和逻辑很简单,但正如我所说,逻辑是嵌套的。
这是正确的还是我应该考虑另一个组件?
由于
答案 0 :(得分:0)
我会将其构建为脚本 - VB.NET或C#语法更加优雅。例如,您可以包含Reflection,然后将输入列集循环为数组,用于重复逻辑 - 在SQL中,您将不得不重复代码。
性能损失通常比最差的SQL CASE语句慢10%。