Top SQLとは、データベース内で実行頻度が高く、システムリソースを多く消費し、データベースのパフォーマンスに大きな影響を与えるSQL文を指します。OB Cloudは、総実行時間で上位2000件にランクインしたSQLを表示します。
Top SQLリストのクエリ
OceanBase Cloudコンソールにログインします。
左側のナビゲーションペインで、**インスタンス**をクリックします。
インスタンスリストで対象のインスタンスを見つけ、インスタンス名をクリックしてインスタンスのダッシュボードに入ります。
左側のナビゲーションペインで、**診断をクリックします。システムはデフォルトで、SQLタブの下にある上位SQL**を表示します。
(オプション)フィルター条件を設定します。
データベース:現在のクラスタ内の任意のデータベースを選択します。
時間範囲:最後の5分間、過去30分間、過去1時間、過去3時間、**過去6時間**のデータを確認できます。カスタムの時間範囲も設定可能です(最大7日間まで)。ただし、以下の制限に注意してください:
- 最大範囲の制限:選択した時間範囲は24時間を超えてはなりません。
- 最小範囲の制限:
- 3日以内:選択した時間範囲は1分以上である必要があります。
- 3日から7日以内:選択した時間範囲は5分以上である必要があります。
SQL ID:クエリ対象のSQL IDを入力します。複数のIDを入力する場合は、半角文字の , または ; で区切ります。
SQLテキスト:クエリ対象のSQLテキストのキーワードを入力します。検索結果には、そのキーワードを含むSQLテキストのSQLが表示されます。定数検索はサポートされていません。
その他の条件:**+追加をクリックし、条件を追加する**パネルで、メトリクス、演算子、メトリクス値を設定します。クエリ時に、メトリクスの条件を満たすSQLが検索結果リストに表示されます。
クイックフィルター:フルテーブルスキャン、マルチパーティションスキャン、複数のリモート実行、ハードパース、実行中にエラー発生、**再実行する**をサポートします。
**クエリ**ボタンをクリックします。
上位SQLタブは、デフォルトで以下のメトリクスを表示します:SQLテキスト、SQL ID、データベース、合計実行数、CPU使用率 (%)、データベース合計実行時間 (ms)、平均実行時間 (ms)、合計エラー数、最大応答時間 (ms)、CPU時間 (ms)、プラン生成時間 (ms)、操作。
SQLテキストの前の + をクリックすると、最後のエラー と 統計期間中に報告されたエラーの概要 を確認できます。
データベース でSQLテキストをフィルタリングします。
合計実行数、CPU使用率 (%)、データベース合計実行時間 (ms)、平均実行時間 (ms)、合計エラー数、最大応答時間 (ms)、CPU時間 (ms)、プラン生成時間 (ms) でSQLテキストをソートします。
アクション 列で、サンプルを見る をクリックすると、SQLサンプルを確認できます。

特定のSQLの アクション 列で ... をクリックし、スロットリングの設定 を選択すると、レート制限を設定できます。複数のSQLを選択すると、一括でレート制限を設定できます。
リストの右上にある 集約 in クエリ を選択すると、SQLをAggregate Inに従って表示しますが、統計データには影響しません。Aggregate InのSQLを含む複数のSQLを選択すると、一括でレート制限を設定できます。
説明
Aggregate In Queryとは、SQLステートメントのIN句内の定数パラメータの数を無視し、各IN句を常に1つの定数パラメータしかないものと見なして、このルールに従ってSQLステートメントをパラメータ化し、SQL IDを計算することを指します。SQL IDが同じSQLは同種と見なされ、集約されます。
... をクリックし、テーブルをダウンロード をクリックして、Top SQLリストをダウンロードします。
アイコン
をクリックし、表示された 列の管理 ウィンドウで、より詳細なメトリクスを照会します。
カスタム列
**上位SQLタブで、リストの右上にある列をカスタマイズ**をクリックすると、必要な他のメトリクスをカスタマイズできます。
ポップアップウィンドウで、**列式**を設定します。例:(@avgCpuTime * @avgDiskReads) / 2
**列名**を入力します。
**OK**をクリックします。