所以我有一个脚本:
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 检查表锁定和检查约束
任何人都知道问题可能是什么?
提前致谢
答案 0 :(得分:1)
问题在于,因为您正在使用数据源和数据目标,所以正在从数据库中提取所有数据,然后将其全部重新放入,而您的INSERT语句将其全部包含在数据库。改为使用带有INSERT语句的Excute SQL Task。