Top SQLとは、データベース内で実行頻度が高く、システムリソースを多く消費し、データベースのパフォーマンスに大きな影響を与えるSQL文を指します。OB Cloudは、総実行時間で上位2000にランクインしたSQLを表示します。
Top SQLリストのクエリ
OceanBase Cloudコンソールにログインします。
左側のナビゲーションペインで、**インスタンス**をクリックします。
インスタンスリストで対象のインスタンスを見つけ、インスタンス名をクリックしてインスタンスのダッシュボードに入ります。
左側のナビゲーションペインで、**テナント**をクリックします。
テナント管理リストで対象のテナント名をクリックして、テナントのダッシュボードに入ります。
左側のナビゲーションペインで、**診断**をクリックします。
**診断**ページの下部には、システムがデフォルトで **SQL**タブの **上位SQL**を表示します。
(オプション)フィルター条件を設定します。
データベース:現在のテナントの任意のデータベースを選択します。
ノード:現在のテナントの任意のノードを選択します。
時間範囲:期間を選択します。カスタム期間も設定可能です(最大7日間)。ただし、以下の制限に注意してください:
- 最大範囲の制限:選択した期間は24時間を超えてはなりません。
- 最小範囲の制限:
- 3日以内:選択した期間は1分以上である必要があります。
- 3日から7日以内:選択した期間は5分以上である必要があります。
SQL ID:クエリ対象のSQL IDを入力します。複数のIDを入力する場合は、半角文字の , または ; で区切ります。
SQLテキスト:クエリ対象のSQLテキストのキーワードを入力します。検索結果には、そのキーワードを含むSQLが表示されます。定数検索はサポートされていません。
その他の条件:**+追加をクリックし、条件を追加する**パネルで、メトリクス、演算子、メトリクス値を設定します。クエリ時に、メトリクスの条件を満たすSQLが検索結果リストに表示されます。
クイックフィルター:フルテーブルスキャン、マルチパーティションスキャン、複数のリモート実行、ハードパース、実行中にエラー発生、**再実行する**をサポートします。
**クエリ**ボタンをクリックします。
SQLテキストの前の + をクリックし、最後のエラー と 統計期間中に報告されたエラーの概要 を確認します。
データベース でSQLテキストをフィルタリングします。
**操作列で、サンプルを見る**をクリックし、SQLサンプルを確認します。
**集約 in クエリ**を選択すると、inクエリの結果が集計されますが、統計データには影響しません。リストには 集約 のマークが表示されます。対応するSQL IDにポインタを合わせると、集計された他のSQL IDを確認できます。
説明
IN句を含み、その内容が異なる数の単純定数で構成されているSQL文について、集約INクエリが有効でない場合、リアルタイム診断機能はそれらを異なる種類のSQL文と見なします。集約INクエリが有効な場合、リアルタイム診断機能はそれらを同じ種類のSQL文と見なし、これらのSQL文の統計情報を1行に集約します。
... をクリックし、テーブルをダウンロード をクリックして、Top SQLリストをダウンロードします。
アイコン
をクリックし、表示された 列の管理 ウィンドウで、より多くのメトリクスを照会します。
Top SQLの比較
**上位SQLタブで、リストの右上にあるTop SQL 比較**をクリックすると、同一SQLが同一ホストノード内の異なる時間帯や異なるホストノード上でどのように実行されているか、その状態とパフォーマンスを比較できます。
- 異なる期間の比較:同一ホストノード上の同一SQLについて、ベース期間と比較期間の実行状況を比較します。ベース期間と比較期間は任意に設定可能です。比較対象の分析ノードを選択し、**比較分析をクリックすると、同一ホストノード内の異なる時間帯でSQLが実行された際の詳細の比較および応答時間の傾向の比較**情報を確認できます。
- 異なるノードの比較:ベースノード上で実行されているSQLを基準に、同一SQLが他のノード上でどのように実行されているかを比較します。比較ノードは複数選択可能です。複数選択した場合、システムはこれらのノード上で実行されているSQLの共通部分の平均データを、ベースノード上の同一SQLと比較分析します。分析期間を選択またはカスタマイズした後、**比較分析をクリックすると、同一SQLが異なるノード上で実行された際の詳細の比較および実行時間比率の傾向の比較**情報を確認できます。