ストアド プロシージャの実行計画はどこに保存されますか? ストアド プロシージャを作成すると、実行計画が作成されますか?それとも、何かを作成する前に一度実行する必要がありますか?
2 に答える
1
実行プランは、ストアド プロシージャが初めて実行されるときに作成され、(揮発性の) プラン キャッシュに格納されます。
サーバーがビジー状態で、最新の実行計画をキャッシュするための領域が必要な場合、または SQL Server サービスがシャットダウンされた場合、そのキャッシュはなくなり、次回はプロシージャを解析して実行計画を再度決定する必要があります。 .
ストアド プロシージャを作成するだけでは、実行計画は保存されません。よく言われるように、ストアド プロシージャはプリコンパイルされていません。それは単にそうではありません。
実際のところ、SQL Server はストアド プロシージャの作成時にオブジェクトの存在をチェックしません。存在しないテーブルから選択するストアド プロシージャを完全に作成することができます。それは問題なく作成されます。エラーは実行時にのみ発生します - 実行計画が初めて構築されようとすると (もちろん、その時点で、テーブルが存在しないという事実はエラーを引き起こします)
于 2013-04-12T15:48:59.357 に答える