Top SQL とは、データベース内で実行頻度が高く、システムリソースを多く消費し、データベースのパフォーマンスに大きな影響を与える SQL ステートメントを指します。OceanBase Cloud クラウドデータベースでは、総実行時間で TOP2000 にランクインする SQL を表示します。
Top SQL リストの照会
OceanBase Cloudコンソール にログインします。
左側のナビゲーションペインで、インスタンス をクリックします。
インスタンスリストから対象インスタンスを見つけ、インスタンス名をクリックしてインスタンスワークベンチに入ります。
左側のナビゲーションペインで 診断 をクリックし、診断 ページで リアルタイム診断 タブを選択します。システムはデフォルトで SQL タブの下の Top 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 ID、データベース、合計実行数、合計エラー数、操作、平均消費時間 (ms)、総エラー回数、最大応答時間 (ms)、CPU 時間 (ms)、プラン生成時間 (ms)、および 操作。
SQL テキストの前の + をクリックすると、最後のエラー と 統計期間中に報告されたエラーの概要 を表示します。
データベース を使用して SQL テキストをフィルタリングします。
合計実行数、合計エラー数、総データベース消費時間 (ms)、平均消費時間 (ms)、総エラー回数、最大応答時間 (ms)、CPU 時間 (ms)、および プラン生成時間 (ms) を使用して SQL テキストをソートします。
操作 列で、サンプルを見る をクリックして SQL サンプルを表示します。
特定の SQL の 集約 in クエリ 列で ... をクリックし、レート制限を設定 を選択すると、レート制限を設定できます。複数の SQL を選択すると、一括でレート制限を設定できます。
リスト右上の 集約 in 照会 をチェックすると、集約に従って SQL を表示できますが、統計データには影響しません。複数の SQL(集約されたSQL を含む)を選択すると、一括でレート制限を設定できます。
説明
集約 in 照会 とは、SQL ステートメントの句内の定数パラメータの数を無視し、すべての句を 1 つの定数パラメータのみとみなし、このルールに従って SQL ステートメントをパラメータ化し、SQL ID を計算し、SQL ID が同じ SQL を同種として集約することです。
... をクリックし、その後 テーブルをダウンロード をクリックして、Top SQL リストをダウンロードします。
アイコンをクリックし、ポップアップする 列の管理 ウィンドウでその他の指標を照会します。
Top SQL の比較
上位SQL タブで、リスト右上の Top SQL 比較 をクリックすると、同じ SQL の同一ノードでの異なる時間帯または異なるノードでの実行状況、および単一 SQL の異なる時間帯または異なるノードでの実行状況を比較できます。
異なる期間の比較:同一ノード上の同じ SQL の基準時間帯と比較時間帯での実行状況を比較分析し、その後、詳細の比較 と 応答時間の傾向の比較 の情報を表示します。
異なるノードの比較:同じ SQL の基準ノードと比較ノードでの実行状況を比較分析し、その後、詳細の比較 と 実行時間比率の傾向の比較 の情報を表示します。
単一SQLの異なる期間の比較:単一 SQL または集約 SQL の基準時間帯と比較時間帯での実行状況を比較分析し、その後、データベースの総消費時間 と 合計実行数 の情報を表示します。
単一SQLの異なるノードの比較:単一 SQL または集約 SQL の異なる分析ノードでの実行状況を比較分析し、その後、データベースの総消費時間 と 合計実行数 の情報を表示します。
説明
- 同じ SQL とは、同じデータベースと SQL ID を指します。
- 異なるノードを比較する場合、異なるノードで同じ SQL が実行された場合にのみ結果が出力されます。
- SQL ID を先に入力し、その後、対応する SQL の操作列で ... > 単一 SQL 比較 を選択すると、単一 SQL の異なる時間帯と異なるノードでの比較分析を実行できます。
カスタム列
上位SQL タブで、リスト右上の 列をカスタマイズ をクリックすると、必要なその他の指標をカスタマイズできます。
ポップアップウィンドウで、列式 を設定します。例:(@avgCpuTime * @avgDiskReads) / 2
列名 を入力します。
確定 をクリックします。
最適化の推奨事項と最適化検出履歴の表示
Top SQL タブで、リスト右上の ビューの最適化の推奨事項 をクリックします。ポップアップするパネルで、指定したテナントの QPS、平均SQLステートメント処理時間、CPU使用率 などの指標、および SQL クラスと構造クラスの最適化の推奨事項を表示します。
右上の 検出を開始します をクリックします。ポップアップするウィンドウで 検出時間範囲(1 日を超えてはなりません)を選択し、OK をクリックします。
検出履歴を最適化する タブで、タスクの状態と最適化検出履歴を表示します。