すべてのプロダクト
Search
ドキュメントセンター

AnalyticDB:SQLパターン

最終更新日:Dec 05, 2024

AnalyticDB for MySQLは、同様のSQL文を集約してインテリジェント診断の効率を向上させるSQLパターン機能を提供します。

背景情報

SQLパターン機能は、リアルタイムのSQL文用に設計されています。 SQL文に対してグループ化された診断と分析を実行し、同様のSQL文をSQLパターンに集約して、インテリジェント診断の効率を向上させます。 SQLパターンの集計結果は、データベース最適化の効果的な基盤として役立ちます。 AnalyticDB for MySQLクラスターで過度のワークロードを引き起こすSQL文は、インターセプトされる可能性があります。 詳細については、「プランとクエリブロッカーの維持」をご参照ください。

メリット

SQLパターン機能には、次の利点があります。

  • 集計: SQLテキストに基づいて同様のSQL文をグループ化します。

  • マクロ統計: 平均値と最大値を比較し、主要なパターン指標の合計値とパーセンテージを表示します。

  • 問題のあるSQL文の識別: 異常なSQL文を識別し、問題のあるSQL文を診断するためにドリルダウンします。

使用上の注意

SQLパターンは過去14日以内にのみ表示できます。 各クエリの最大時間範囲は24時間です。

手順

  1. AnalyticDB for MySQL コンソールにログインします。 ホームページの左上でリージョンを選択します。 左側のナビゲーションウィンドウで、クラスターリスト をクリックします。 [Data Warehouse Edition] タブで、管理するクラスターを見つけ、クラスターIDをクリックします。

  2. 左側のナビゲーションウィンドウで、診断と最適化.

  3. [SQLパターン] タブをクリックします。

    デフォルトでは、過去30分以内のSQLパターンが表示されます。 キーワードを入力するか、時間範囲を指定することで、SQLパターンを検索できます。

    次の表に、SQLパターンリストのパラメーターを示します。

    パラメーター

    説明

    操作

    [詳細の表示] をクリックすると、SQLパターンの詳細を表示できます。 詳細については、このトピックの「パターン分析」セクションを参照してください。

    ユーザー名

    SQLパターンに属するSQL文の送信に使用されるデータベースアカウントの名前。

    クライアントip

    SQLパターンに属するSQL文の送信に使用されるクライアントのIPアドレス。

    Sqlパターン

    SQLパターンを表すSQL文。 アイコンをクリックして2、SQL文全体をコピーできます。

    CPU コストの合計

    指定された時間範囲内でSQLパターンに属するSQL文によって消費されたCPU時間の合計。 括弧内の割合は、次の式を使用して計算されます。SQLパターンによって消費されたCPU時間の合計量 /すべてのSQLパターンによって消費されたCPU時間の合計量。 パーセンテージが30% を超えると、パラメーター値が自動的に強調表示されます。

    SQLパターンのCPUコストの割合を監視して、SQLパターンに属するSQL文が指定された時間範囲内で大量のCPU時間を消費するかどうかを判断できます。 CPUメトリックを監視して、さらに分析を実行することもできます。

    総CPUコストとCPUコストの割合の計算方法

    例えば、5つのSQL文が実行される。 最初の3つのSQL文はパターン1に属し、他のSQL文はパターン2に属します。 5つのSQL文のCPUコストは、それぞれ50 ms、1s、70 ms、1.5s、1sです。 メトリックは、次の式を使用して計算されます。

    • 総CPUコストのパターン1: 0.05s + 1s + 0.07s = 1.12s

    • 総CPUコストのパターン2: 1.5s + 1s = 2.5s

    • CPUコスト割合 (パターン1 ): 1.12/(1.12 + 2.5) × 100% = 30.9392%

    • CPUコスト割合 (パターン2 ): 2.5/(1.12 + 2.5) × 100% = 69.0607%

    ピークメモリの合計

    指定された時間範囲内にSQLパターンに属するSQL文によって消費されるピークメモリの合計。 括弧内の割合は、次の式を使用して計算されます。SQLパターンによって消費された合計ピークメモリ /すべてのSQLパターンによって消費された合計ピークメモリ。 パーセンテージが30% を超えると、パラメーター値が自動的に強調表示されます。

    SQLパターンのピークメモリ率を監視して、指定された時間範囲内にSQLパターンに属するSQL文が大量のメモリを消費するかどうかを判断できます。 計算メモリ使用量メトリックを監視して、さらに分析を実行することもできます。

    総ピークメモリとピークメモリ率の計算方法

    例えば、5つのSQL文が実行される。 最初の3つのSQL文はパターン1に属し、他のSQL文はパターン2に属します。 5つのSQL文のピークメモリは、それぞれ1 GB、2 GB、3 GB、3 GB、および1 GBです。 メトリックは、次の式を使用して計算されます。

    • パターン1の合計ピークメモリ: 1 GB + 2 GB + 3 GB = 6 GB

    • パターン2の合計ピークメモリ: 1 GB + 3 GB = 4 GB

    • ピーク記憶率パターン1: 6/(6 + 4) × 100% = 60%

    • ピーク記憶率パターン2: 4/(6 + 4) × 100% = 40%

    所要時間の合計

    指定された時間範囲内のSQLパターンに属するSQL文の合計実行時間。 括弧内の割合は、次の式を使用して計算されます。SQLパターンの実行時間 /すべてのSQLパターンの実行時間。 パーセンテージが30% を超えると、パラメーター値が自動的に強調表示されます。

    SQLパターンの実行期間の割合を監視して、SQLパターンに属するSQL文が、指定された時間範囲内でクエリ応答時間メトリックの増加をもたらすかどうかを判断できます。 クエリ応答時間メトリックを監視して、さらに分析を実行することもできます。

    総実行時間と実行時間の割合の計算方法

    例えば、5つのSQL文が実行される。 最初の3つのSQL文はパターン1に属し、他のSQL文はパターン2に属します。 5つのSQL文の実行時間は、それぞれ50 ms、1s、70 ms、1.5s、1sです。 メトリックは、次の式を使用して計算されます。

    • 総実行時間パターン1: 0.05s + 1s + 0.07s = 1.12s

    • 総実行時間パターン2: 1.5s + 1s = 2.5s

    • 実行時間割合パターン1: 1.12/(1.12 + 2.5) × 100% = 30.9392%

    • 実行時間割合パターン2: 2.5/(1.12 + 2.5) × 100% = 69.0607%

    データ読み取りの合計

    指定された時間範囲内にSQLパターンに属するSQL文によって読み取られたデータの合計サイズ。 括弧内の割合は、次の式を使用して計算されます。SQLパターンによって読み取られたデータの合計サイズ /すべてのSQLパターンによって読み取られたデータの合計サイズ。 パーセンテージが30% を超えると、パラメーター値が自動的に強調表示されます。

    SQLパターンのデータ読み取り率を監視して、SQLパターンに属するSQL文が指定された時間範囲内に大量のデータを読み取ったかどうかを判断できます。 テーブルデータ読み取りメトリックを監視して、さらに分析を実行することもできます。

    読み取りデータの合計サイズとデータ読み取り率の計算方法

    例えば、5つのSQL文が実行される。 最初の3つのSQL文はパターン1に属し、他のSQL文はパターン2に属します。 5つのSQL文の読み取りデータのサイズは、それぞれ1 GB、2 GB、3 GB、3 GB、および1 GBです。 メトリックは、次の式を使用して計算されます。

    • パターン1の読み取りデータの合計サイズ: 1 GB + 2 GB + 3 GB = 6 GB

    • パターン2の読み取りデータの合計サイズ: 1 GB + 3 GB = 4 GB

    • データ読み取り率パターン1: 6/(6 + 4) × 100% = 60%

    • パターン2のデータ読み取り率: 4/(6 + 4) × 100% = 40%

    データ読み取りにかかるコストの合計

    指定された時間範囲内でデータを読み取るためにSQLパターンに属するSQL文によって消費されたCPU時間の合計。 括弧内の割合は、次の式を使用して計算されます。SQLパターンがデータを読み取るために消費したCPU時間の合計 /すべてのSQLパターンがデータを読み取るために消費したCPU時間の合計。 パーセンテージが30% を超えると、パラメーター値が自動的に強調表示されます。

    SQLパターンのデータ読み取り率を監視して、SQLパターンに属するSQL文が、指定された時間範囲内でデータを読み取るために大量のCPU時間を消費するかどうかを判断できます。 データの読み込みにCPU時間がかかると、リザーブドノード (ストレージノード) のCPU使用率が上昇します。 予約済みノードのCPUメトリックまたは元のストレージノードを監視して、さらに分析を実行することもできます。

    総データ読み取りコストとデータ読み取りコストの割合の計算方法

    例えば、5つのSQL文が実行される。 最初の3つのSQL文はパターン1に属し、他のSQL文はパターン2に属します。 5つのSQL文のデータ読み取りコストは、それぞれ50 ms、1s、70 ms、1.5s、1sです。 メトリックは、次の式を使用して計算されます。

    • 総データ読み取りコストパターン1: 0.05s + 1s + 0.07s = 1.12s

    • パターン2の総データ読み取りコスト: 1.5s + 1s = 2.5s

    • データ読み取りコスト百分率パターン1: 1.12/(1.12 + 2.5) × 100% = 30.9392%

    • データ読み取りコスト百分率パターン2: 2.5/(1.12 + 2.5) × 100% = 69.0607%

    CPU 平均コスト

    指定された時間範囲内でSQLパターンに属するSQL文によって消費されたCPU時間の平均値。

    CPU 最大コスト

    指定された時間範囲内でSQLパターンに属するSQL文によって消費されたCPU時間の最大値。

    テーブルの読み取りにかかる CPU 平均コスト

    指定された時間範囲内でデータを読み取るためにSQLパターンに属するSQL文によって消費されたCPU時間の平均値。

    テーブルの読み取りにかかる CPU 最大コスト

    指定された時間範囲内でデータを読み取るためにSQLパターンに属するSQL文によって消費される最大CPU時間。

    実行回数

    指定された時間内にSQLパターンに属するSQL文が実行された回数。 クラスター内でリソース使用量が急増した場合は、実行回数に基づいてSQL文を並べ替え、クラスターが期待どおりに実行されない場合に頻繁に実行されるSQL文を特定できます。 次に, 分析を実行して, SQL文の実行が増加した原因を特定できます。

    失敗の数

    指定された時間内にSQLパターンに属するSQL文の実行に失敗した回数。

    平均総使用時間

    指定された時間範囲内でSQLパターンに属するSQL文によって消費された平均合計時間。 単位:ミリ秒。

    最大合計時間

    指定された時間範囲内でSQLパターンに属するSQL文によって消費された最大合計時間。 単位:ミリ秒。 [平均合計時間] パラメーターと [最大合計時間] パラメーターの値を比較して、SQLパターンによる消費時間の増加が他のSQLパターンによるものかどうかを判断できます。 クラスターが予想通りに実行されたときに、Maximum Execution Durationパラメーターの値がAverage Total Total Consumedパラメーターの値とほぼ同じである場合、クラスターが予想通りに実行されなかったときにSQLパターンによって消費される時間の量の増加は、他のSQLパターンによって引き起こされます。

    平均実行時間

    指定された時間範囲内のSQLパターンに属するSQL文の平均実行期間。 単位:ミリ秒。

    最大実行時間

    指定された時間範囲内のSQLパターンに属するSQL文の最大実行期間。 単位:ミリ秒。 実行期間の詳細については、「クエリモニタリングチャートとSQLクエリの使用」をご参照ください。

    平均ピークメモリ

    指定された時間範囲内のSQLパターンに属するSQL文の平均ピークメモリ。 単位はバイトです。

    最大ピークメモリ

    指定された時間範囲内のSQLパターンに属するSQL文の最大ピークメモリ。 単位はバイトです。 [最大ピークメモリ] パラメーターと [平均ピークメモリ] パラメーターの値を比較して、SQLパターンのメモリ使用量が安定しているかどうかを判断できます。 Maximum Peak Memoryパラメーターの値がAverage Peak Memoryパラメーターの値よりもはるかに大きい場合、SQLパターンでスキャンされるデータ量が増加したり、実行計画が変更されたりする可能性があります。 [操作] 列の [詳細の表示] をクリックすると、[パターン分析] ページでSQL文リストを表示し、原因を特定できます。

    平均スキャンボリューム

    指定された時間範囲内にSQLパターンに属するSQL文によってスキャンされたデータの平均量。 単位:MB。

    最大スキャンボリューム

    指定された時間範囲内にSQLパターンに属するSQL文によってスキャンされたデータの最大量。 単位:MB。 Maximum Data ScannedパラメーターとAverage Data Scannedパラメーターの値を比較して、SQLパターンによってスキャンされたデータ量が安定しているかどうかを判断できます。 Maximum Data Scannedパラメーターの値がAverage Data Scannedパラメーターの値よりもはるかに大きい場合、スキャンされるデータ量は不安定です。 原因を特定する必要があります。

    テーブル名

    SQLパターンに属するSQL文によってスキャンされたテーブルの名前。

パターン解析

[パターン分析] ページには、特定の時間範囲内のSQLパターンの主要なメトリックがチャートに表示されます。 メトリックには、実行、消費時間、実行期間、スキャンされたデータ量、およびピークメモリが含まれます。 消費された時間、実行期間、スキャンされたデータの量、およびピークメモリメトリックについて、比較および分析を容易にするために最大値および平均値が提供される。 SQL文リストには、指定された時間範囲内のSQLパターンに属するすべてのSQL文が記述されています。 [操作] 列の [診断] をクリックすると、SQL文の診断結果と実行計画を表示できます。 詳細については、「実行計画を使用したクエリの分析」をご参照ください。

[SQLパターン] タブで、SQLパターンの [操作] 列で [詳細の表示] をクリックし、[パターン分析] ページに移動します。 SQLパターンの変更中のメトリックとSQL文のリストを表示できます。

関連する API 操作