関連するクエリ チューニング機能
次に示す SQL Server のクエリ チューニング機能は、欠落したインデックス機能と共に使用することができます。
動的管理ビュー sys.dm_db_index_usage_stats および sys.dm_exec_query_stats
データベース エンジン チューニング アドバイザ
sys.dm_db_index_usage_stats は、SQL Server のインスタンス上の既存のインデックスのインデックス使用情報を収集します。sys.dm_exec_query_stats は、キャッシュされたクエリ プランに対する、集計済みのパフォーマンス統計情報を返します。sys.dm_exec_query_stats は、キャッシュされたプランの実行経過時間や、キャッシュされたプランの実行時に行われた論理読み取りと物理読み取りの回数などの情報を取得します。
データベース エンジン チューニング アドバイザは、SQL Server のワークロード全体を分析し、インデックス、インデックス付きビュー、パーティション分割などの物理デザイン構造の構成に対する推奨設定を生成する、スタンドアロンのツールです。
次のセクションでは、データベース エンジン チューニング アドバイザと欠落したインデックス機能の違いについて詳しく説明します。
欠落したインデックス機能とデータベース エンジン チューニング アドバイザとの比較
欠落したインデックス機能は、インデックス作成の誤りを見つけて訂正するための簡易的な機能であり、サーバー側で動作し、常に有効です。これに対し、データベース エンジン チューニング アドバイザは、物理的なデータベース デザインを評価し、パフォーマンスを向上させるための新しい物理デザイン構造を推奨する、総合的なツールです。データベース エンジン チューニング アドバイザは、クエリのパフォーマンスを向上させるために、インデックスだけでなく、インデックス付きビューやパーティション分割を使用すべきかどうかも考慮します。
次の表では、欠落したインデックス機能とデータベース エンジン チューニング アドバイザを詳しく比較しています。
比較のポイント |
欠落したインデックス機能 |
データベース エンジン チューニング アドバイザ |
---|---|---|
配置方法 |
サーバー側。 |
クライアント側のスタンドアロン アプリケーション。 |
可用性 |
常に有効です。 |
データベース管理者が起動するか、スクリプト中で起動します。 |
分析の範囲 |
簡単でアドホックな分析で、欠落したインデックスに関する限定的な情報だけを提供します。 |
徹底的なワークロード分析で、送信されたワークロードに照らして最適な物理データベース デザイン構成に関する完全な推奨レポートを提供します。 |
分析では UPDATE、INSERT、および DELETE ステートメントが考慮されているか |
いいえ。 |
はい。 |
分析では使用可能なディスク記憶領域が考慮されているか |
いいえ。 |
はい。 |
推奨されるインデックス中で列が順序付けされているか |
いいえ。CREATE INDEX ステートメント中で手作業で列を順序付けする必要があります。 |
クエリの実行コストに基づいて、推奨されるインデックスの中で列の順序が自動的に決定されます。 |
クラスタ化インデックスを推奨するか |
いいえ。 |
はい。 |
カバリング インデックスを推奨するか |
はい。 |
はい。 |
非カバリング インデックスを推奨するか |
はい。 |
はい。 |
インデックス付きビューを推奨するか |
いいえ。 |
はい。 |
パーティション分割を推奨するか |
いいえ。 |
はい。 |
推奨は何に基づいているか |
クエリ オプティマイザによって算出されたクエリ実行コストの概数。 |
クエリ オプティマイザによって算出されたクエリ実行コスト。 |
推奨設定を実装した場合の影響はどうなるか |
欠落したインデックスを追加した場合の影響の概要がレポートされます。詳細については、「sys.dm_db_missing_index_group_stats (Transact-SQL)」を参照してください。 |
15 種類の分析レポートが生成され、推奨設定を実装した場合の影響についての情報が提供されます。詳細については、「データベース エンジン チューニング アドバイザのレポートの選択」を参照してください。 |
判明した欠落したインデックスを実装すると、クエリ パフォーマンスが向上する可能性があります。データベース エンジン チューニング アドバイザのユーザー指定構成機能と評価モードを使用して、欠落したインデックスを実装することによるワークロード全体への影響を判断することができます。詳細については、「データベース エンジン チューニング アドバイザを使用した調査分析」を参照してください。
単一のクエリ ワークロードであっても、データベース エンジン チューニング アドバイザと欠落したインデックス機能が異なる推奨設定を返す場合があります。これは、欠落したインデックス機能が推奨するインデックスのキー列が順序に依存しないためです。これに対しデータベース エンジン チューニング アドバイザの推奨設定には、クエリ パフォーマンスを最適化するためのインデックスのキー列の順序付けが含まれています。
まとめ
欠落したインデックス機能を使用すると、インデックス作成の誤りを発見して訂正することができますが、データベース エンジン チューニング アドバイザは、インデックス作成の誤りを訂正するだけでなく、サーバーで実行中のワークロード全体を調整するためにも使用することができます。欠落したインデックス機能を使用して候補となるインデックスを生成した場合は、データベース エンジン チューニング アドバイザを使用してそれを検証する必要があります。