本文へスキップ

Top SQL

ホーム画面>プロジェクト選択> 実験室 > Top SQL

TOP SQLは、既存のSQL統計メニューの機能を拡張し、長い期間データを照会して分析できます。 最大30日~最低1分単位で照会でき、分析指標をタブの形で提供して一目で見ることができます。 また、推移チャートを追加して特定時間のSQL発生パターンを簡単に把握できます。

基本画面ガイド

Top SQL

  1. 時間でデータを照会する日時を選択してください。

    • 緑のボタンをクリックして照会時間を選択するか、日付と時間のテキストエリアをクリックすると、日付と時間をオプションとして選択できます。
  2. インスタンスでデータを照会する対象を選択してください。

  3. フィルター条件を追加してください。 フィールドフィルターに追加するカラムを簡単に検索して追加できます。

  4. 照会件数でテーブルに表示する件数を設定してください。

    • データは 10 ~100件までテーブルに表示します。
  5. 検索アイコンボタンをクリックします。

    • 照会した内容をCSV形式のファイルでダウンロードするには、ダウンロードアイコンボタンをクリックしてください。

    • テーブルヘッダーの各カラムをクリックすると、選択したカラムをソートすることができます。

フィルタリング条件の設定

目的のデータを素早く見つけるために、フィールド条件を追加したり、フィルター条件を設定することができます。

サイドバーフィールドからフィルターに条件を追加する

フィールドでフィールド名を確認し、検索して希望の条件のデータを照会できます。

  • フィールド検索機能を使って、目的のフィールドを素早く見つけることができます。

  • フィールドの種類は、文字アイコン(文字タイプ)、フィールドアイコン(数値タイプ)アイコンで区別できます。

  1. フィールドリストの希望する項目にマウスを合わせると、そのフィールドのデータタイプに応じて条件アイコンが表示されます。

    • String(文字)タイプのフィールド条件:=(含む)、!=(含まない)

    • Number(数値)タイプのフィールド条件:==(等しい)、(以上)、(以下)

  2. 希望する条件アイコンをクリックして、値を入力します。

  3. 適用ボタンをクリックしてフィールド条件を追加します。

上部オプションからフィルターに条件を追加する

  1. フィルターオプションでアイコンをクリックしてください。

  2. フィルターキー項目で目的のフィルタリング基準を選択します。

    • 選択した項目の値が文字に該当する場合は含む(青)、含まない(赤) の条件を選択できます。

      example

  3. 条件項目で条件を選択し、一致させる文字列または数値を入力してください。

  4. 適用ボタンをクリックします。

    • フィルタリング条件を追加するには、追加ボタンをクリックし、1~4の手順を繰り返してください。 追加した条件は、AND(&&) 条件として適用されます。

フィルター条件を削除する

  • 特定の条件を削除するには、フィルター条件の右側にある削除アイコンボタンをクリックしてください。

  • すべての条件を削除するには、削除アイコン完全削除ボタンをクリックしてください。

  • フィルターオプションに適用された条件をすばやく削除するには、ボタンをクリックしてください。

ノート
`sqlText`に「WhaTap」が含まれている場合は、除外するようにデフォルトで設定されています。

<ImgLang img='db-sql-filter-default.png' desc='WhaTap' />

フィルター条件を修正する

  1. フィルターオプションに適用されている項目をクリックします。

  2. フィルターの修正画面で希望する項目を修正し、適用ボタンをクリックしてください。

Top SQL

Trends チャートのSQL統計データ収集周期とデータ照会範囲は、以下の基準によって異なります。

  • 3時間以下
    • SQL統計データ収集サイクルオプションが1分に設定された場合: 1分間隔でデータ収集
    • SQL統計データ収集サイクルオプションが1分に設定されていない場合: 5分間隔でデータ収集
  • 1日以下: 5分間隔でデータ収集
  • 30日以下: 1時間間隔でデータ収集
ノート

SQL統計データ収集サイクルオプションの設定(チャート·インターバル)

1分単位のサマリー データを表示するには、エージェントバージョンとエージェントの設定を確認する必要があります。

  1. エージェントバージョン2.4.5以降に更新します。

  2. whatap.confファイルにsqlstat_send_interval = 1の設定を追加します。

クエリ別の実行推移を確認

使用区分ごとに希望するデータを分類して照会したり、ソート順を変更することができます。希望するタブをクリックしてください。

テーブルの項目別の左の►ボタンを選択します。クエリ文の5分当たりの実行回数と平均実行時間が表示されます。各棒グラフにカーソルを合わせると、その時間の数値が表示されます。

ソート基準説明
elapse avg (sec)平均実行時間が最も長い値からソート
execute count実行回数の多い順にソート
elapse sum (sec)総実行時間が長い値からソート
elapse max (sec)最大実行時間が長い値からソート
elapse waitクエリの待ち時間が長い順にソート
physical readディスクから読み取ったデータブロックが多い順にソート
session logical readsメモリから読み取ったデータブロックが多い順にソート

クエリプレビュー

クエリ文プレビュー

照会された結果リストからマウスポインタをsqlカラム項目に移動すると、クエリ文をプレビューできます。

クエリの詳細を見る

照会された結果一覧でquery項目を選択するとSQL詳細画面が表示されます。

SQL詳細

SQL統計の表示 ボタンをクリックすると、該当SQLクエリに関連する統計情報を確認できる SQL統計 メニューに移動します。

  • Trend: 特定のSQLの実行時間、I/O、待機イベントを総合的に分析し、性能ボトルネックを迅速に確認できます。

  • Runtime Plan: 選択したSQLクエリの実行計画とランタイム情報を提供します。実行回数、平均実行時間、平均物理読み取りなどの詳細情報を確認できます。

  • Explain Plan: オプティマイザが予測した実行計画を表示します。コスト、操作、オブジェクト名、カーディナリティなどの情報を提供します。

  • Plan History: データベースで実行されたSQLクエリの実行計画履歴を確認できます。

  • Bind Capture: データベースで実行されたSQLクエリに使用されたバインド変数の値を確認できます。これによりクエリ実行の実際の内容を確認できます。

    ノート

    実際のリアルタイムのバインド値ではなく、データベースにキャプチャされた値(v$sql_bind_capture)です。件数が多い場合は100件まで表示されます。

Trend タブ

上部のチャートでは時間帯ごとの Elapsed Time、I/O、Wait Time の推移を視覚化します。下部の統計テーブルでは累積実行統計、Wait Class 比率、主要な Wait Event を一目で比較できます。

Elapsed Time

タイムセレクタで選択した区間の CPU使用時間、Wait Class時間、Idle時間 などを合算して表示します。

例:

  • CPU Time: SQL実行に実際にCPUを使用した時間
  • Scheduler: セッションがCPUを待機していた時間
  • Idle: 実行されずに待機またはアイドル状態にあった時間(どの項目が最も時間を消費したかを直感的に確認可能)
Elapsed Time Trend

時間ごとに 平均 Elapsed Time と実行回数(Execution Count)を5分単位で集計して推移を表示します。3時間未満なら1分単位で表示します。

特定の時点でElapsed Timeが急増したか、実行回数に比べ応答時間が増加したかを確認でき、性能劣化のタイミングを迅速に把握できます。

I/O Trend

クエリ実行中に発生した Logical ReadsPhysical Reads を5分単位で表示します。3時間未満なら1分単位で表示します。

  • Logical Reads: バッファキャッシュからデータを読み込んだ回数
  • Physical Reads: ディスクから直接データを読み込んだ回数で、キャッシュ効率やI/O負荷を比較して性能ボトルネックを特定可能
Wait Time Trend

クエリ実行中に発生した Wait Event時間 を時間ごとに表示します。

特定の時点でWait Timeが急増していれば、DBリソース競合やI/O遅延が発生していることを意味します。どのイベント(ロック、I/O、並列処理など)がボトルネックを引き起こしたかを追跡できます。

Total Statistics

選択区間中の SQL実行累積統計 を表示します。

例:

  • sorts(rows): ソートされた総行数
  • session logical reads: セッション論理読み取り回数
  • table scan blocks gotten: テーブルスキャン時に読み込んだブロック数
  • elapsed_time: 総経過時間
    → SQL実行がリソースをどのように使用したかを集計データで確認可能
Total Wait Classes

SQL実行中に発生した 待機時間(Wait Time) を Wait Class 単位で合算した値です。
Wait Classごとの時間が多いほど、その領域がボトルネックである可能性が高まります。

例: Idle, Scheduler, User I/O, Concurrency など

Top Wait Events

選択区間で発生した 詳細な Wait Event の上位リスト を表示します。
Wait Classより細かく、どのイベントが性能に最も影響を与えたかを確認できます。

例: PX Deq: Execution Msg, resmgr:cpu quantum, direct path read など

詳細チャートを確認する

詳細チャートを確認する

データは、照会する時間に応じて別のサイクルに読み込みされます。 照会可能な時間範囲は**1分(m1), 5分(m5), 1時間(h1) 単位で提供されます。 最近の時間に再度変更するには、![最近時間アイコン]](/img/ic-recent-time-active.svg)アイコンをクリックします。 設定された時間に応じてデータが自動的に調整されます。

詳細チャートはトレンドチャートと同じように照会時間によってデータの周期が変わり、ドラッグして照会時間範囲を調整できます。

詳細情報を確認する

セッション詳細情報

チャートの棒グラフを選択すると、5分間の統計情報が確認できるセッション詳細画面が表示されます。 選択した時間のSQL実行一覧を表示し、項目を選択すると新しい画面とともにインスタンスメニューへ移動します。

インスタンスメニューからは、選択した時間帯のアクティブセッションテーブルと、様々な指標の推移を確認することができます。

テーブルカラムの設定

テーブルヘッダーカラムを非表示にしたり、希望する項目を追加できます。 カラムの順序を変更することもできます。 カラムアイコンボタンをクリックします。

ノート
  • 設定を完了した後は、確認ボタンを選択すると、設定事項がテーブルに反映されます。

  • 数字3検索バーにテキストを入力し、カラム項目を検索できます。 入力したテキストと一致するカラム項目が表示されます。

  • 画像は、製品またはプロジェクト、メニューによって異なる場合があります。

カラムを追加する

数字1一覧でテーブルヘッダーカラムに追加する項目を選択します。 すべての項目を追加するには、すべて選択を選択します。

カラムを削除する

数字1一覧から削除するカラム項目のチェックボックスのチェックを解除します。 または数字2一覧から削除する項目の右側の削除アイコンボタンを選択します。

カラムの順序の変更

数字2一覧で順序を変更するアイテムをドラッグして、希望する位置に移動できます。

設定事項の初期化

変更事項をすべてキャンセルし、初期化するには、初期化アイコン 初期化ボタンを選択します。