SQLウィンドウは、データを処理するためのユーザーインターフェースを提供します。SQLウィンドウでは、SQLステートメントをシステム的に評価し、ステートメントの実行詳細および実行の全リンク遅延情報を確認できます。
このドキュメントでは、employeeテーブルを例に、クエリSQLステートメントをシステム的に評価する方法を説明します。
説明
本文中で使用されているのはすべてサンプルデータです。実際の状況に応じてデータを置き換えることができます。
前提条件
現在のテナントのデータベースアカウントとパスワードを使用してSQLコンソールにログインできること。
実行計画
SQLコンソールにログインする後、SQLウィンドウでSQLステートメントを編集し、テーブル
employeeに挿入されたデータをクエリします。
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件で実行ボトルネックを迅速に特定できます。SQLウィンドウはCPU時間に基づいて時間順に並べ替えられます。
演算子の実行状態、時間、および出力行数をリアルタイムで照会できます。演算子ノードをクリックすると、右側で演算子の属性、時間の詳細、およびI/Oやその他のランタイムデータを取得できます。

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