実行計画に問題はありませんでした。さらに、私が理解しているように、SQL Server 2000 は、既存の実行プランの T-SQL ステートメントに対して新しい T-SQL ステートメントを認識することにより (すべての SQL ステートメントの実行プランを保持することにより)、ストアド プロシージャのパフォーマンス上の利点の多くをすべての SQL ステートメントに拡張しました。ストアド プロシージャの実行プランだけでなく、プロシージャ キャッシュ)
これは、合理的なテーブル結合、トランザクションが含まれていないか、クエリ内で参照されているリンク サーバーがなく、WITH (NOLOCK) テーブル ヒントが適用されている、かなり単純な SELECT ステートメントです。ストアド プロシージャは dbo によって作成され、ユーザーは必要なすべてのアクセス許可を持っています。
だから私の質問はこれです:
ストアド プロシージャを介して同じ T-SQL を実行すると、クエリの実行に数秒しかかからず、その後数分かかる理由として考えられるものは何ですか?