SSIS中OLEDB Source使用最佳实践:多表生成新表方案选择
SSIS同库多表生成新表方案选择建议
直接给结论:你的场景下**方案1(单OLEDB Source写SQL完成逻辑)**合理得多。
方案1的核心优势
- 性能表现好:同库内的表关联、字段筛选逻辑交给原生数据库引擎处理,效率远高于把4张表全量数据拉到SSIS进程里再做内存排序、关联。数据库的查询优化器可以直接调用源表的索引、统计信息生成最优执行计划,不必要的IO开销会被降到最低。
- 维护成本低:所有逻辑集中在一段SQL里,后续需要调整字段、修改关联条件、新增过滤规则的时候,直接改SQL就行,不需要调整一堆SSIS组件的配置,排查问题也不用逐层校验排序、关联组件的参数是否正确。
- 出错风险小:方案2需要手动给4个源数据做排序、配置关联类型、匹配关联字段,很容易出现排序规则不匹配、关联条件写错、数据类型隐式转换异常的问题,平白多出很多不必要的故障点。
方案2的适用场景
方案2只适合跨异构数据源、或者跨不同数据库实例无法在单库层面执行关联SQL的场景,你的同库场景完全没必要用这种重方案。
内容的提问来源于stack exchange,提问作者PetervdV
相关产品推荐
相关产品推荐

