次の方法で共有


ストアド プロシージャとトリガの実行

SQL Server 2005 では、ストアド プロシージャとトリガのソースだけが格納されます。ストアド プロシージャまたはトリガを最初に実行するときに、ソースが実行プランにコンパイルされます。時間が経過して実行プランがメモリから削除される前にストアド プロシージャまたはトリガを再度実行すると、リレーショナル エンジンは既存の実行プランを検出してそれを再利用します。時間が経過して実行プランがメモリから削除されると、新しい実行プランが構築されます。これは、SQL Server 2005 がすべての SQL ステートメントに行うのと同じ処理です。SQL Server 2005 で、動的 SQL のバッチと比較した場合の、ストアド プロシージャやトリガのパフォーマンス上の主な利点は、SQL ステートメントが常に同じであることです。したがって、リレーショナル エンジンを既存の実行プランに容易に適合させることができます。その結果、ストアド プロシージャやトリガのプランを簡単に再利用できます。

SQL Server 7.0 より前のバージョンの SQL Server では、ストアド プロシージャのパフォーマンスが他の SQL ステートメントに比べて明らかに勝っていました。これらのバージョンの SQL Server では、ストアド プロシージャやトリガでないバッチの実行プランは再利用されませんでした。実行プランを再利用する唯一の方法は、ストアド プロシージャで SQL ステートメントのコードを記述することでした。

ストアド プロシージャとトリガの実行プランは、ストアド プロシージャを呼び出すバッチやトリガを起動するバッチの実行プランとは別に実行されます。このため、ストアド プロシージャやトリガの実行プランを何回でも再利用できます。

参照

概念

クエリ プロセッサ アーキテクチャ

ヘルプおよび情報

SQL Server 2005 の参考資料の入手