DP300-MON#13
SQL Server のパフォーマンス 問題 調査の標準的な手順 を順序通りに並べてください。
- Wait Statistics で 全体ボトルネック種別 (IO/CPU/Lock 等) を 特定
- sys.dm_exec_query_stats で Top リソース 消費クエリを特定
- Execution Plan で問題クエリ の Plan を分析
- Index 追加 / クエリ書き換え 等で改善
解説
【正しい順序】
- ステップ 1: Wait Statistics で 全体ボトルネック種別 (IO/CPU/Lock 等) を 特定
- ステップ 2: sys.dm_exec_query_stats で Top リソース 消費クエリを特定
- ステップ 3: Execution Plan で問題クエリ の Plan を分析
- ステップ 4: Index 追加 / クエリ書き換え 等で改善
【各ステップの理由】
- ステップ 1 Wait Statistics で 全体ボトルネック種別 (IO/CPU/Lock 等) を 特定: sys.dm_os_wait_stats で 累積 Wait 統計 を分析し ボトルネック 種別 (IO / CPU / Lock 等) を 全体 視点で特定 します。
- ステップ 2 sys.dm_exec_query_stats で Top リソース 消費クエリを特定: sys.dm_exec_query_stats + sys.dm_exec_sql_text JOIN で Top CPU / Logical Reads 等の リソース 消費 クエリを特定 します。
- ステップ 3 Execution Plan で問題クエリ の Plan を分析: 特定 した クエリ の Actual Execution Plan を 取得 し Index Scan の有無 / Hash Join / Lookup 等の 問題 オペレーター を 確認 します。
- ステップ 4 Index 追加 / クエリ書き換え 等で改善: 分析 結果 から 必要な Index 追加 / クエリ書き換え (SARGable / Join 順序 等) / 統計情報 更新 等の 改善 策を 実施 します。
【誤った順序の問題点】
- Index 改善 → Wait Stats 分析: 分析なしの Index 追加 は的外れで 不要 Index が増えるだけです。
- Plan 分析 → Query 特定: Plan は どの クエリ の Plan か 特定 後 に分析 します。

コメント