1

所以我有一个脚本:

select * 
into my_archive_05302013
from archive_A
where my_Date = '05/18/2013'

和:

insert into archive_B (ID,my_date,field_n )
select ID,  my_Date,field_n from my_archive_05302013

其中 field_n 中的 n 约为 100 左右。所以换句话说,我正在加载的表中有 100 多列。

它运行得非常快,查询插入了大约 200000 条记录。my_date 是表 archive_A 中的非聚集索引

现在,当我使用 SSIS 2008 创建数据流时,需要HOURS才能完成

我的 OLE DB 源中有以下内容:

SELECT * FROM Archive_A
WHERE My_Date = (SELECT MAX(My_Date) from Archive_A)

对于 OLE DB 目标:

数据访问方式:“表或视图-快速加载” 表名:archive_B 表锁和检查约束被检查

任何人都知道问题可能是什么?

提前致谢

4

1 回答 1

1

问题在于,因为您使用的是数据源和数据目标,所以您正在做的是将所有数据从数据库中拉出,然后再将其全部放回,而您的 INSERT 语句将其全部包含在数据库中。将执行 SQL 任务与您的 INSERT 语句一起使用。

于 2013-05-30T15:01:31.740 回答