2019.12.16
フルスキャンを行なっているSQLの特定する(Ver.5.3〜)
1. 概要
本Tipsは、以下のような場面で活用します。
1.フルスキャンしている高負荷SQLの有無を点検する。 2.索引が適切に使用されていないSQLを特定する。 3.索引設計の妥当性を評価する。
本Tipsでは、待機指標「db file scattered read」でフルスキャンの有無を判断します
2. 操作方法
2.1. Performance Analyzer表示
通常動作監視を行なっている「Realtime Monitor」画面の右上部「PERFORMANCE ANALYZER」ボタンを押下することにより、「Performance Analyzer」 画面を表示します。
2.2. 推移分析表示
「Performance Analyzer」 画面左側の種別選択タブより、「推移分析」を、画面上部の分析種別タブから「性能トレンド」を選択します。
2.3. 対象日付選択
調査したい日付を、昨日・今日のボタンあるいは、日付指定・カレンダー選択Windowを用いて選択したのち、検索ボタンを押下します。
2.4. 対象時間帯選択〜対象SQL特定
対象日付のグラフが表示されますので、フルスキャンの発生を調査したい時間帯をドラッグ&ドロップで選択し、「タイムスライス」Windowより、「集計分析を行う」を選択します。
表示された画面内の上部タグより「上位待機指標」を選択します。
上位待機指標画面の「Event Name」列のなかの「db file scattered read」をクリックします。クリックすることで、画面下部の表に「db file scattered read」の待機イベント(フルスキャンの待機イベント)が発生したSQLが表示されます。
もし、「Event Name」列のなかの「db file scattered read」が表示されない場合は、画面右上の「TOP-10」あるいは「TOP−20」を選択し、再表示を行います。これでも、表示されない場合は、対象の時間帯には、フルスキャンを行なっているSQLは存在しないことになります。