SQLウィンドウは、データを処理するためのユーザーインターフェースを提供します。SQLウィンドウでは、SQLステートメントに対するシステム評価を行い、ステートメントの実行詳細および実行の全リンク遅延情報を確認できます。
このドキュメントでは、employeeテーブルを例に、クエリSQLステートメントのシステム評価方法を説明します。
説明
本文中で使用されているのはすべてサンプルデータです。実際の状況に応じてデータを置き換えることができます。
前提条件
OB Cloudコンソールで分析型データベースアカウントを作成済みであり、かつそのアカウントが スーパーアカウント であること。
ユーザークラスタインスタンス(分析型)のアカウント管理権限を保有していること。
ワークスペースを作成済み、または既に参加していること。
执行计划
OB Cloudコンソールにログインし、ワークスペースに入った後、SQLウィンドウでSQL文を編集し、テーブル
employeeに挿入されたデータをクエリします。
SELECT `emp_no`, `birthday`, `name`, `time`, `test_col`, `status`, `age`, `state` FROM `employee`;上図のように、SQL文を選択し、実行計画アイコンをクリックすると、SQL文を実行する前にシステムが実行データを推定します(EXPLAIN PLAN操作の結果)。表示される実行データは、実際に文を実行した後のデータと若干異なる場合があります。

実行計画の詳細 ページで、テキストビュー をクリックして、テキスト形式の表示ページに切り替えます。
実行計画の詳細 ページで、AI解釈を見る をクリックすると、AI機能を利用して実行計画を解釈することができます。
実行詳細
説明
- 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にインポートして、さらに分析することができます。
実行プロファイルのインテリジェントな解釈
プランの詳細 ページで、AI解釈を見る をクリックすると、AI機能によって実行プロファイルの解釈を支援します。
DB実行時間
**実行履歴タブで、DB実行時間**情報の後ろにあるヒントアイコンにマウスカーソルを合わせると、ポップアップ表示されるメッセージでSQL実行の全リンク実行時間情報を確認できます。これにより、各段階の実行時間が実際のものと一致しているかどうかを検証できます。