SQLサーバーの動作に少し困惑しています。
多くのステップを実行する非常に大きなストアド プロシージャがあります。次のように開始すると:
Exec [MyStoredProcedure] @MyBoolean=0
Management Studio でストアド プロシージャの内容を直接呼び出すよりも時間がかかります。パラメータから来る可能性があるというstackoverflowの回答を見たので、追加しました:
declare @IMyBoolean bit
select @IMyBoolean=@MyBoolean;
その後 @IMyBoolean ですべてを実行しましたが、結果は決定的ではありませんでした。少しは良くなりましたが、それほどではありませんでした:
sp : 4分
パラメーター インターフェイスを使用した sp: 3 分
ダイレクト SQL 2 分
この振る舞いについて誰か説明がありますか?
ここにxmlplanがあります