表A从Excel文件导入SQL Server。在表上执行了严重的更新和删除操作,以使用特定值替换某些列。我已经为此编写了一个Proc但是由于我开始使用SSIS,我需要知道这是否可以通过执行SQL任务或使用任何其他转换来完成。
答案 0 :(得分:0)
是的,它可以通过缓慢变化的维度组件或查找组件来实现,但这两者都需要执行RBAR(通过痛苦的行行)更新。如果您有少量数据< 50,000条记录)这可能没问题,但它只适用于较大的数据集
使用查找或SCD组件时,数据流将拆分为插入和更新流。插入流速度相当快,但需要将更新流提供给执行SQL任务,该任务一次执行一个数据行的更新。
这与您执行一个UPDATE语句的ELT方法形成对比,后者在一个批处理中执行所有更新。这通常要快得多。
如果您决定不使用SSIS RBAR方法,则可以暂存Excel数据,然后使用执行SQL任务(在控制流程中)调用现有SP。通过这种方式,可以执行批量更新而不是RBAR更新。