SQL Server上のストアドプロシージャを「再コンパイルする」とはどういう意味ですか? これは手動プロセスか自動化プロセスか? このプロセスの長所と短所は何ですか? ありがとうございました!SQL Server上のストアドプロシージャを "再コンパイル"することは何を意味しますか?
4
A
答えて
6
これは厳密にはSQL Server内の操作です。データベースは、インデックスを追加するか、インデックス付きの列のデータを変更するなどの行為によって変更されると、そのテーブルにアクセスするために使用された元の問い合わせ計画は彼らに
を再コンパイルすることによって、再び最適化する必要があります
はここMSDN's article on Recompiling Stored Procedures
です
ALTER PROC
ステートメントを発行すると、ストアドプロシージャも再コンパイルされます。
2
再コンパイルを使用すると、SQL ServerがSPに再コンパイルされるため、同じSPに対して既存のプランを使用する代わりに、データベースエンジンによって新しい実行計画が作成されます。
要件に応じて、自動化プロセスと手動プロセスの両方が可能です。 SPにRECOMPILEの "ヒント"を含めることで、実行されるたびにSPを再コンパイルすることができます。または手動で再コンパイルする
ExecのSP_RECOMPILE N'yourSP」
を実行します。
@Michaelが述べたように、各コンパイルデータベースエンジンが高価な操作である可能性のある新しい実行計画を作成する必要があるため、あまりにも多くの再コンパイルは非常に悪いことがあります。だから、一般的にSPの自動再コンパイルは避けなければなりません。また、手動で再コンパイルしても、開発環境で最初にテストして、実際にそれが本当に役立つかどうかを確認する必要があります。
関連する問題
- 1. SQL ServerでLSNとは何を意味しますか?
- 2. SQL Server:1 ++ 2は何を意味しますか?
- 3. SQL Serverでストアドプロシージャの再コンパイルが発生する要因は何ですか?
- 4. exeが動的にコンパイルされることは何を意味しますか?
- 5. プログラムを「ビルド」することは何を意味しますか
- 6. Webpack dev-serverの出力は何を意味しますか?
- 7. ネットワークインターフェイスドライバを開くことは何を意味しますか?
- 8. ^は何を意味しますか?
- 9. 一部のSQL ServerプロファイラSQLウィンドウでは、デフォルトの意味は何ですか?
- 10. 揺れないことは何を意味しますか?
- 11. gcc/g ++/libstdC++のコンパイル時に--enable-threads = LIBとは何を意味しますか?
- 12. K-のSingeltonクラスタはSQL Serverのssasを意味します
- 13. Hiveに「ローカルディレクトリを上書きする」とは何を意味しますか?
- 14. 「read_strt」はここでは何を意味していますか?
- 15. 意味論は何を意味しますか?
- 16. 何かを数値的に解くことは何を意味しますか?
- 17. MS SQL Server 2008のT-SQLでは、 '@'は文字列リテラルのパラメータ* value *の前に何を意味しますか?
- 18. SQL文節 "GROUP BY 1"は何を意味しますか?
- 19. コロン( ':')はSQL構文で何を意味しますか?
- 20. SQL SELECT文で "" ""は何を意味しますか?
- 21. #はSQLで何を意味しますか?
- 22. JPA基準JOIN:{oj ...}はSQLで何を意味しますか?
- 23. ANTでは「**」とは何を意味していますか?
- 24. .html()は何を意味しますか?
- 25. IndexOutofRangeExceptionは何を意味しますか?
- 26. !viは何を意味しますか?
- 27. {login}は何を意味しますか
- 28. force_reloadは何を意味しますか?
- 29. コンパイラは何を意味しますか?
- 30. (+ var)は何を意味しますか
Downvoterには、私の回答が利益と価値をどのように提供してくれないかについての説明がありますか? –