SSIS OLEDB SQL命令执行缓慢
我有一张有超过百万条记录的桌子SSIS OLEDB SQL命令执行缓慢,ssis,Ssis,我有一张有超过百万条记录的桌子 当我在SSMS中执行我的查询时,在任何时间点都需要大约1:24的时间,肯定不到2分钟,并返回大约600000条记录 SSIS需要几个多小时,事实上我只能导出一次 以下是示例sql: SELECT distinct A.Col1, A.Col2, A.Col3, A.Col4, A.Col5, A.Col6, A.Col7, B.Col3 FROM tblA A inner join tblB B on A.Col1 = B.col1 and A.Col2 =
SELECT distinct
A.Col1, A.Col2, A.Col3, A.Col4, A.Col5, A.Col6, A.Col7, B.Col3
FROM tblA A
inner join tblB B on A.Col1 = B.col1 and
A.Col2 = 'AB' AND A.Col3 Not In ('A','B','C') AND
A.Col3 In ('FPC','FPE','PRN','SUB','RVW','FPO','FEV','PRM')
注意:SELECTSQL查询中的所有列(以及where子句中提到的列)都存在索引
在SSIS中
什么可能导致SSI延迟?您的问题很可能与OLE DB目标及其接受行的速率有关。您可以通过在删除OLE DB目标的情况下测试包的副本来确认这一点
假设是这种情况,最常见的原因是在传递到SQL Server的OLE DB目标中不使用“快速加载”选项。根据我的经验,这可能是两件事之一:
这是控制流中目标DFT(数据流任务)的属性,因此要更改它,只需在控制流视图中选择该任务的图标。您应该在属性窗格(在“杂项”下)中看到DefaultBufferMaxRows。您可能还希望按比例降低“DefaultBufferSize”。SSIS执行主机与源服务器和目标服务器是同一台机器,还是部分通过网络?目标服务器是通过网络还是在网络上运行,但执行sql需要很长时间(SSIS执行主机与源服务器是同一台机器).有什么建议吗??我不能在这里使用执行sql任务,因为源服务器和目标服务器/db不同。如何配置OLE db目标?表访问模式设置为什么?