背景
ODCのSQLウィンドウは、データを処理するためのユーザーインターフェースを提供します。SQLウィンドウでは、SQLステートメントのシステム評価、実行詳細、および実行の全リンク遅延情報を確認できます。
このドキュメントでは、employeeテーブルを例に、クエリSQLステートメントのシステム評価方法を説明します。
実行計画
SQLウィンドウで、テーブル
employeeに挿入されたデータを照会するSQLステートメントを編集します。
SELECT `emp_no`, `birthday`, `name`, `time`, `test_col`, `status`, `age`, `state` FROM `employee`;上図のように、SQLステートメントを選択し、実行計画アイコンをクリックすると、SQLステートメントを実行する前にシステムが実行データを推定します(EXPLAIN PLAN操作の結果)。表示される実行データは、実際にステートメントを実行した後のデータと若干異なる場合があります。

プランの詳細 ページで、テキストビュー をクリックして、フォーマット表示ページに切り替えます。
実行詳細
説明
- OceanBase V4.2.4 より前のバージョンでは、SQLステートメントを実行する際、結果セットタブの 実行詳細 からSQL実行の基本情報、時間統計、I/O統計、実行されたSQLステートメント、計画統計、概要を確認できます。


- OceanBase V4.2.4 以降 かつ OceanBase V4.3.0 より前 のバージョン、または OceanBase V4.3.3.1 以降 のバージョンでは、クエリ/挿入/更新/削除/データベース内のデータ検索を実行する際、実行プロファイル でSQL実行の実行解析をリアルタイムで照会できます。実行解析により、SQL実行の詳細とパフォーマンスボトルネックを迅速に特定できます。
実行プロファイルへのアクセス
アクセス方法1:SQLウィンドウでSQLステートメントを実行する際、実行プロセス中に ログ タブで 実行プロファイルを表示 をクリックします。
注意
SQLステートメントの実行時間が1秒未満の場合、ログタブに実行プロファイルのアクセスエントリが表示されない可能性があります。

アクセス方法2:SQLステートメントの実行が完了した後、実行結果で実行プロファイルアイコンをクリックします。

アクセス方法3:SQLステートメントの実行が完了した後、実行記録 タブの TRACE ID をクリックすると、実行プロファイル画面に入ります。

実行解析
実行の詳細、すなわち実行プロファイルは、SQL実行計画の可視化とデータ収集であり、演算子の実行状態、時間の詳細、I/Oおよびランタイムデータをリアルタイムで確認し、グローバルな実行時間を集計・ソートすることをサポートします。
実行プロファイルを通じて、以下が可能です:
図形でOceanBaseの実際の実行計画を確認し、演算子の実行順序や接続関係をより容易に理解できます。
実行概要、リアルタイムI/O統計、時間上位5のトップ5で実行ボトルネックを迅速に特定できます。ODCはCPU時間に基づいて時間をソートします。
演算子の実行状態、時間、出力行数をリアルタイムで照会できます。演算子ノードをクリックすると、右側で演算子の属性、時間の詳細、I/Oおよびその他のランタイムデータを取得できます。

スタンドアロン実行計画と分散実行計画の分析をサポートしています。並列実行演算子は、DB時間、IOメモリ、出力行数でソートでき、データの偏りを迅速に特定できます。
SQL実行概要
項目 |
パラメータ説明 |
|---|---|
| SQL実行の概要 |
|
| 演算子実行概要 |
|
I/O統計
項目 |
説明 |
|---|---|
| 演算子I/O統計 |
|
ノード属性
ノード属性は、演算子の出力情報と実行時データ(Other statistics)で構成されています。
より詳細なノード出力情報については、OceanBase公式ドキュメントをご参照ください。例:Table Scan 演算子の属性。
実行時データは演算子によって意味が異なり、重要な監視指標です。このような指標については、V$SQL_MONITOR_STATNAMEビューをご参照ください。
実行計画
SQLウィンドウの 実行計画 とは異なり、実行プロファイル の実行計画は実際に実行された計画を表示するため、実際の行数 と 実際のコスト が含まれます。ODCはDBMS_XPLANツールパッケージを使用して現在の計画を取得します。
右上の テキストビュー
をクリックするとビューを切り替えて、より包括的な計画情報を照会し、さらなるSQLチューニングを容易に行えます。
フルリンク診断
OceanBaseのバージョンが4.2.0以上の場合(OBProxy経由で接続する場合は、OBProxy V4.2.0以降が必要)、ODCはSQLのフルリンク診断可視化情報の閲覧をサポートしています。詳細については、OceanBaseフルリンクトレースの概要をご参照ください。
ODCは、OceanBaseのフルリンク診断データに対して、**トレースビューとリストビュー**の2種類の可視化ビューを提供しています。
TraceビューはSQL実行の総タイムラインを表示し、ノードの展開・折りたたみや検索によるハイライトをサポートしています。タイムライン上にマウスカーソルを置くと、現在のノードの実行ノード、開始・終了時間、および詳細データを確認できます。
テーブルビュー をクリックするとビューを切り替えることができ、Spanを様々な次元でフィルタリングおよびソートできます。
ODCはJSON形式のフルリンク診断データのエクスポートをサポートしており、OpenTracingプロトコルに互換性があります。これをJaegerにインポートして、さらなる分析を行うことができます。
DB実行時間
**実行履歴タブで、DB実行時間**情報の後ろにあるヒントアイコンにマウスカーソルを合わせると、ポップアップ表示されるヒントメッセージでSQL実行の全リンク実行時間情報を確認できます。これにより、各段階の実行時間が実際のものと一致しているかどうかを検証できます。