【发布时间】:2021-12-30 12:22:19
【问题描述】:
这是关于 SSIS 查找转换的。
查找转换是否将源数据拉入 ETL 服务器,然后应用于查找转换,或者过滤是否发生在源服务器上?
【问题讨论】:
标签: sql-server ssis
这是关于 SSIS 查找转换的。
查找转换是否将源数据拉入 ETL 服务器,然后应用于查找转换,或者过滤是否发生在源服务器上?
【问题讨论】:
标签: sql-server ssis
默认情况下,查找转换将使用其中定义的表/查询,并且在数据流的预执行状态下,它将执行该查询并将结果缓存在本地内存中。此默认行为是完整缓存选项。
另外两个选项是无和部分。 None 将导致针对接收到的每个源行对源系统执行查询。在最佳配置中,部分将导致针对接收到的源行中的每个新行对源系统执行查询。否则,它将使用查找行的缓存副本。我说是最优的,因为有一个最大内存配置值可能会导致最旧的行在第二次消耗之前被驱逐,因此会再次触发查询。
鉴于您的其他问题并假设完全缓存配置 - 预执行过程将运行查询以生成您的用户集并缓存该列表。然后,您的 OLTP 销售系统中的所有数据都将被拉入数据管道。将根据缓存的用户列表评估每一行是否相等,如果找到匹配项,则源行将流向匹配的输出。根据您指定的匹配选项(错误、到不匹配、忽略),不匹配的行将出错、流入不匹配的输出或继续到匹配的输出。
【讨论】: