我对 sql server 的行为有点困惑。
我有一个相当大的存储过程,它执行许多步骤。如果我这样开始:
Exec [MyStoredProcedure] @MyBoolean=0
比直接在 management studio 中调用存储过程的内容需要更长的时间。我在stackoverflow上看到了一个答案,它可能来自参数,所以我添加了:
declare @IMyBoolean bit
select @IMyBoolean=@MyBoolean;
之后用@IMyBoolean 做所有事情,但结果不是决定性的,它好一点但没那么多:
sp : 4 分钟
sp带参数界面:3分钟
直接sql 2分钟
有人对这种行为有什么解释吗?
这是xmlplan