1

ストアド プロシージャの実行計画はどこに保存されますか? ストアド プロシージャを作成すると、実行計画が作成されますか?それとも、何かを作成する前に一度実行する必要がありますか?

4

2 に答える 2

1

実行プランは、ストアド プロシージャが初めて実行されるときに作成れ、(揮発性の) プラン キャッシュに格納されます。

サーバーがビジー状態で、最新の実行計画をキャッシュするための領域が必要な場合、または SQL Server サービスがシャットダウンされた場合、そのキャッシュはなくなり、次回はプロシージャを解析して実行計画を再度決定する必要があります。 .

ストアド プロシージャを作成するだけでは、実行計画は保存されません。よく言われるように、ストアド プロシージャはプリコンパイルされていません。それは単にそうではありません。

実際のところ、SQL Server はストアド プロシージャの作成時にオブジェクトの存在をチェックしません。存在しないテーブルから選択するストアド プロシージャを完全に作成することができます。それは問題なく作成されます。エラーは実行時にのみ発生します - 実行計画が初めて構築されようとすると (もちろん、その時点で、テーブルが存在しないという事実はエラーを引き起こします)

于 2013-04-12T15:48:59.357 に答える