多列的 SSIS 合并转换排序

SSIS Merge Transformation sorting for multiple columns

我看了Merge Transformation上的各种文档,都说数据要排序,但是none讲的是哪些列,如何决定哪些列要排序。例如,如果我的合并联接条件在多个列上,那么是否需要对所有列进行排序?

我的生产数据有超过 3 百万行,合并有效,但我无法验证确定是否需要对更多列进行排序是否准确。我尝试创建 test/dummy 数据,但如果我进行一种或多种排序,输出结果与预期一致,所以我不确定我应该做什么。

要进行合并联接,您必须对将用于联接两个表的所有列进行排序,并且排序必须采用相同的顺序。

示例:如果您有两个表:

  • 表 1(姓名、年龄、地址)
  • 表 2(全名、年龄、联系方式)

您需要在 Name = Fullname AND Age = Age 上加入,因此您必须对两个表中的两列进行排序,并且每两个相关列必须具有相同的顺序:

  • 表1:姓名(顺序1),年龄(顺序2)(类似于ORDER BY Name,Age
  • 表2:全名(顺序1),年龄(顺序2)(类似于ORDER BY FullName,Age

@PlaidDK 在评论中提供了一个非常有用的link,您可以在其中了解更多详细信息


旁注:您可以使用 SORT 组件对列进行排序,或者如果使用 OLEDB 命令作为源,则可以在命令中使用 ORDER BY 子句并标记列按排序(在高级编辑器中)