合并优化设置
系统提供了两个选项,可帮助您在特定的情况下以更高效的方式合并数据。通过这些选项,您可以在一个输入数据集明显大于其他数据集,或者您的数据已经按照将要用于合并的所有或部分关键字段进行排序的情况下优化合并。
一个输入数据集相对较大。选择此选项可表明其中一个输入数据集比其他数据集大很多。系统会在内存中缓存较小的数据集,然后在不缓存或不对其进行排序的情况下处理较大的数据集来执行合并。您经常会对使用星形模式或相似方案设计的数据使用这种类型的连接,这种数据中会存在一个较大的共享数据中心表(例如事务处理数据)。如果选择此选项,请单击选择指定该较大数据集。请注意,您只能选择 一个 较大数据集。下表汇总了哪些连接可以通过此方法进行优化。
| 连接类型 | 是否可针对大型输入数据集进行优化? |
|---|---|
| Inner | 是 |
| Partial | 如果较大数据集中没有不完整记录,是。 |
| 全功能 | 否(N) |
| 反连接 | 如果较大数据集是第一个输入,是。 |
所有输入已按关键字段排序。选择此选项可表明输入数据已经按照将要用于合并的一个或多个关键字段进行排序。请确保 所有 输入数据集均已排序。
指定现有排序顺序。指定已经排序的字段。使用“选择字段”对话框,向列表添加字段。您可以仅从将要用于合并的键段(在“合并”选项卡中指定)中选择。在 顺序 列中,指定每个字段按升序还是降序排序。如果指定多个字段,请确保按照正确排序顺序列出这些字段。使用列表右侧的箭头可按照正确顺序排列这些字段。如果指定现有的正确排序顺序时出错,则当您运行流时会出现一个错误,该错误将显示为一个记录编号,该编号即是出现排序与您所指定的顺序不一致的位置。
根据数据库使用的排序方法是否区分大小写,当有一个或多个输入由数据库排序时,优化可能不会正常工作。例如,如果有两个输入分别为区分大小写和不区分大小写,那么排序结果可能有所不同。合并优化将导致使用记录排序后的顺序来处理记录。因此,如果输入采用不同的排序方法来排序,则合并节点会报告错误,并显示排序不一致处的记录编号。如果所有输入均来自相同源,或使用互容的排序方法来排序,则可以成功合并记录。
注意:启用并行处理有益于提高合并速度。