クエリ ストア (前編) (1/2):EnterpriseZine(エンタープライズジン)
Shoeisha Technology Media

EnterpriseZine(エンタープライズジン)

EnterpriseZine(エンタープライズジン)

テーマ別に探す

クエリ ストア (前編)

2016/03/15 06:00

 日本マイクロソフト Business Intelligence & Data Platform サポートの神谷です。今回は、SQL Server 2016 の新機能であるクエリ ストアを紹介します。

クエリ ストアとは?

 クエリ ストアとは、実行されたクエリそのものに加えて、コンパイルおよび実行時の統計データ、実行プランなどを収集して保存しておき、それらをもとにクエリの実行状況を分析したり、実行プランを強制したりすることができるようにするための機能です。

 これまでは、そのようなことを行うためには、DMVへのクエリを定期的に実行して結果を保存したり、トレースを採取し続けたりする必要がありましたが、クエリ ストアを使用すれば、そのような面倒なことは行う必要がなくなります。

クエリ ストアで何ができる?

 対象のデータベースに対して実行されているクエリについて、実行時間、CPU使用時間、論理読み取り数、使用メモリ量などの平均、最大、最小値、最終実行時の値、実行回数などを確認することができます。この情報があれば、実行時間の長いクエリが一目で分かります。また、一度の実行は短時間ではあるものの、実行回数が多いために、結果的にCPUを多く使っているクエリも分かります。これらのクエリは、チューニングの必要があるかもしれません。

 また、ひとつのクエリに対していくつの実行プランが存在しているのかも分かります。ひとつのクエリに複数の実行プランがあるということは、そのクエリは指定されるパラメーターによって最適な実行プランが異なるクエリである可能性があり、その場合には実行プランを再利用させない、つまり、実行プランをキャッシュさせない方が有利であるかもしれません。

 クエリ ストアには、エラーになったクエリや中断されたクエリ(タイムアウトしたクエリ)の情報も保存されるため、クエリを実行しているアプリケーションにロギング機能がなかったとしても、そういったクエリを見つけることができます。

 これら情報はすべてデータベースに保存されるため、sys.dm_exec_query_statsの情報のようにSQL Serverを再起動すると消えてしまうということもありません。

※この続きは、会員の方のみお読みいただけます(登録無料)。


著者プロフィール

  • 神谷雅紀 (カミヤマサノリ)

    日本マイクロソフト株式会社 ビジネスインテリジェンス&データプラットフォームサポート エスカレーションエンジニア SQL Serverファミリー製品およびクラウドデータストレージ&アナリティクス (SQL Database, Data Warehouse, Data Lake,...

バックナンバー

連載:ここから始めよう SQL Server 2016 新機能

もっと読む

All contents copyright © 2007-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5