OceanBase 開発者センター (ODC) の SQL ウィンドウは、データを処理するためのユーザーインターフェースを提供します。このウィンドウ内で、SQL 文の評価、実行詳細の確認、実行タイムライン全体の分析を行うことができます。このトピックでは、employee テーブルを例として使用して、SQL クエリを評価する方法を示します。
実行計画
SQL ウィンドウで、
employeeテーブルのデータをクエリする SQL 文を入力します。
SELECT `emp_no`, `birthday`, `name`, `time`, `test_col`, `status`, `age`, `state` FROM `employee`;上の画像に示すように、SQL 文を選択し、 [実行計画] アイコンをクリックします。これにより、SQL 文を実行する前に実行データを見積もることができます (EXPLAINPLAN)。見積もり実行データは、実行後の実際結果と若干異なる場合があることに注意してください。

プランの詳細テキスト ビュー ページで、 をクリックして、フォーマットされた計画の表示に切り替えます。
実行詳細
V4.2.4 より前の OceanBase バージョンでは、SQL 文を実行すると、結果ページの [実行詳細] タブで、基本的な実行詳細、時間統計、I/O 統計、SQL 実行文、計画統計、およびアウトラインを表示できます。
OceanBase V4.2.4 以降、OceanBase V4.3.0 より前、または OceanBase V4.3.3.1 以降では、実行プロファイルを使用して SQL 実行をリアルタイムで監視できます。実行プロファイルは、実行詳細をすばやく表示し、パフォーマンスボトルネックを特定するのに役立ちます。
実行プロファイルへのアクセス
オプション 1: SQL 文が SQL ウィンドウで実行されている間に、 [ログ] タブの [実行プロファイルの表示] をクリックします。
重要SQL 文の実行時間が 1 秒未満の場合、 [ログ] タブで実行プロファイルを表示するオプションは使用できない場合があります。
オプション 2: SQL 文が実行された後、結果の [実行プロファイル] アイコンをクリックします。

オプション 3: SQL 文が実行された後、 [実行レコード] タブの [TRACE ID] をクリックして、実行プロファイルにアクセスします。

実行分析
実行の詳細 または実行プロファイルは、SQL 実行計画の視覚的表現とデータ収集を提供します。オペレーターの実行ステータス、時間詳細、I/O、およびランタイムデータをリアルタイムで監視しながら、全体の実行時間を集計およびランク付けできます。

実行プロファイルを使用すると、次のことができます。
OceanBase の実際の実行計画をグラフィカル形式で表示し、オペレーターの実行シーケンスと関係を理解しやすくします。
実行概要、リアルタイム I/O 統計、および上位 5 つの時間のかかる操作を使用して、実行のボトルネックをすばやく特定します。ODC は、CPU 時間に基づいてこれらをソートします。
オペレーターの実行ステータス、タイミング、および出力行をリアルタイムで監視します。オペレーターノードをクリックすると、画面の右側にオペレーターの属性、時間詳細、I/O、およびその他のランタイムデータが表示されます。

スタンドアロンおよび分散実行計画を分析します。並列オペレーターは、DB 時間、I/O メモリ、および出力行でソートして、データスキューをすばやく特定できます。
SQL 実行概要
タイプ | 説明 |
SQL 実行概要 |
|
オペレーター実行概要 |
|
I/O 統計
タイプ | 説明 |
オペレーター I/O 統計 |
|
ノード属性
ノード属性は、オペレーターの出力情報とランタイムデータ (その他の統計) で構成されます。
ノードの出力情報の詳細については、OceanBase の公式ドキュメント (例: テーブルスキャンオペレーターの属性) を参照してください。
ランタイムデータはオペレーターによって異なり、重要な監視メトリックを表します。これらのメトリックの詳細については、V$SQL_MONITOR_STATNAME ビューを参照してください。
実行計画
SQL ウィンドウの [実行プラン] とは異なり、[実行プロファイル] には、[実際の行数] や [実際のコスト] を含む、実際の実行プランが表示されます。 ODC は、DBMS_XPLAN パッケージを使用して現在の実行プランを取得します。

右上隅にある [テキスト表示] をクリックしてビューを切り替え、より詳細な計画情報にアクセスして、SQL の最適化をさらに進めることもできます。

エンドツーエンドトレース診断
4.2.0 より上のバージョンの OceanBase (OBProxy 経由で接続する場合は OBProxy バージョン 4.2.0 以降) では、ODC は SQL のエンドツーエンドトレース診断に関する情報の表示をサポートしています。詳細については、「OceanBase エンドツーエンドトレースの概要」を参照してください。
ODC は、OceanBase のエンドツーエンドトレース診断データに対して、 [トレース表示] と トレース ビュー の両方の可視化を提供します。
[トレース表示] は、SQL 実行タイムライン全体を示し、ノードの展開と折りたたみ、および検索のハイライトをサポートしています。タイムラインにカーソルを合わせると、実行ノード、開始時刻と終了時刻、および詳細データを表示できます。

テーブル ビュー
をクリックすると、ビューを切り替えて、さまざまなディメンションにわたるスパンのフィルタリングとソートを有効にできます。

ODC は、OpenTracing プロトコルと互換性のある JSON 形式でのエンドツーエンドトレース診断データのエクスポートもサポートしています。このデータを Jaeger にインポートして、さらに分析できます。
DB 時間

[実行レコード] タブで、[DB 時間] の横にあるツールチップ アイコンにカーソルを合わせると、SQL 実行のエンドツーエンドのタイミング情報が表示されます。これは、各ステージで費やされた時間が実際の実行と一致するかどうかを確認するのに役立ちます。

