dir*_*0lf 4 sql performance ssis
我有一个数据流,其中包含一个OLEDB源(通过变量生成的语句),它调用存储过程.在SSMS中,它需要8分钟,但包装本身需要3倍的时间才能完成.我已将验证(DelayValidation)设置为true,因此它仍然在运行时执行.我还在数据流组件以及连接管理器中设置了元数据的验证.数据流也有ReadUncommitted.我不知道还有什么地方可以看,任何关于如何让这次跑得更快的帮助都会很棒.
Der*_*ell 12
我怀疑真正的问题在于你的存储过程,但我已经包含了一些基本的SSIS项目以尝试解决你的问题:
添加查询提示OPTION(FAST 10000) - 此提示表示它将选择一个优化前10,000行的查询 - 默认的SSIS缓冲区大小
检查存储过程SQL Server 参数嗅探.
缓慢的方式:
create procedure GetOrderForCustomers(@CustID varchar(20))
as
begin
select * from orders
where customerid = @CustID
end
Run Code Online (Sandbox Code Playgroud)
快捷方式:
create procedure GetOrderForCustomersWithoutPS(@CustID varchar(20))
as
begin
declare @LocCustID varchar(20)
set @LocCustID = @CustID
select * from orders
where customerid = @LocCustID
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11731 次 |
| 最近记录: |