「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>SQL Server]] * 目次 [#xa5996cc] #contents *概要 [#zfca7d59] -アドホック クエリ --「実行プラン」が再利用されず、SQLがコンパイルされる。 --このため、多数のユーザが短いアドホック クエリを同時実行すると、~ CPU の使用率が非常に高くなり、システム全体の性能が低下することがある。 -「実行プラン」が再利用の再利用 --まったく同じクエリのときのみ「実行プラン」が再利用される。 --検索キーの値を変更しただけで、「実行プラン」の再利用がされなくなる。 --これは、クエリをパラメタ化することで防ぐことができる。 *監視方法 [#rfbbb277] **[[パフォーマンス カウンタ]] [#a617adbc] この場合、[[パフォーマンス カウンタ]]を使用して監視を行う。 -SQL Server:Buffer Manager:Free pages -SQL Server: SQL Statistics:SQL Compilations/sec のカウンタ値が高く、 -SQL Server:Buffer Manager:Stolen Page Count -SQL Server:Buffer Manager:Memory Grants Pending カウンタ値が低いという状態になる。 **[[SQLプロファイラ(SQLトレース)]] [#ge480ac8] 必要に応じて、[[SQLプロファイラ(SQLトレース)]]を使用する。 **[[実行プランのグラフィカル表示]] [#bfd89a9b] 問題のクエリが特定できたら、Management Studioを使用して、~ クエリプラン(実行プラン)のグラフィカル表示も可能。 *対策方法 [#s5909dec] この状態では、CPUボトルネックが発生する可能性がある。 この場合、SQLのコンパイルのコストを避けるために、~ クエリのパラメタ化による「実行プラン」の再使用を検討する。 *参考 [#bad37ce6] アドホック クエリの性能問題の監視、対策方法については、以下のURLを参照のこと。 -[HOWTO] アドホック クエリのパフォーマンスのトラブルシューティングを行う方法~ http://support.microsoft.com/kb/243588/ja ---- Tags: [[:データアクセス]], [[:SQL Server]], [[:障害対応]], [[:性能]]