临时表与物理表上的数据流任务

时间:2012-08-31 18:05:41

标签: performance ssis dataflowtask temp-tables

这是方案

我有一个用于csv文件的临时表,这是我的源码我将它加载到物理临时表中我将在这个临时表数据上进行转换,我将需要新数据(因为它来自源代码) / p>

我应该在临时表中进行转换,还是应该再次使用数据流任务来重新加载临时表

数据不仅仅是[微笑]不到一百万

1 个答案:

答案 0 :(得分:0)

这有一个标准模式。

  1. 提取数据(从CSV到临时区域)
  2. 转换数据(清理,转换,格式化,加入其他内容,使其与新系统兼容)
  3. 加载数据(更新/插入/删除到您的实时表格)
  4. 这是ETL的首字母缩写词来自 - http://en.wikipedia.org/wiki/Extract,_transform,_load

    您的主要优点是,在第1点,您只有1个线程/用户加载数据,因此可以快速提取,然后在第2阶段,您正在操作数据而不会对其他表造成任何锁定。最后,一旦数据准备就绪,您就可以以最快的方式将其加载到您的实时表中。

    您最关注的两个问题(通常是竞争)是简单性和速度。简单性很好,因为它涉及的代码更少,所需的调试更少,并使您更加自信地保持数据清洁。有时你不得不牺牲简单性来加速。

    在您的情况下,由于您只加载了几百万行,我建议您每次都重新加载登台表,以便每次加载使用相同的ETL过程。这使您的ETL机制易于编码,维护和解释。

    仅供参考 - 如果您使用的是SQL Server,请查看SSIS。