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

PolarDB:SQL Explorer

最終更新日:Nov 09, 2025

PolarDB for MySQLSQL Explorer 機能は、SQL Explorer と監査にアップグレードされました。このサービスは Database Autonomy Service (DAS) によって提供されます。検索 (監査) 機能は、すべての SQL 文の詳細を収集します。これにより、SQL 文と、SQL 文を実行したデータベース、ユーザー、クライアント IP アドレスなどの関連情報をクエリおよびエクスポートできます。SQL Explorer 機能は、SQL 文の健全性の診断、パフォーマンス問題のトラブルシューティング、およびサービストラフィックの分析に役立ちます。これにより、エラー診断、データベースの最適化、脅威検出の効率が向上します。

機能紹介

Database Autonomy Service (DAS) は、完全なリクエストデータの収集とセキュリティ監査に基づいて、検索、SQL Explorer、セキュリティ監査、トラフィック再生とストレステストなどの機能を統合します。DAS は、SQL 文の詳細の取得、パフォーマンス問題のトラブルシューティング、重大な脅威のソースの特定、およびクラスターをスケールアウトする必要があるかどうかの判断に役立ちます。これにより、ピーク時のサービストラフィックに効果的に対処できます。

  • [検索]: データベース、ステータス、実行時間など、SQL 文とそれに対応する情報をクエリおよびエクスポートできます。詳細については、「監査」をご参照ください。

  • [SQL Explorer] 機能を使用すると、SQL 文の健全性の診断、パフォーマンス問題のトラブルシューティング、サービストラフィックの分析ができます。詳細については、「SQL Explorer」をご参照ください。

    • [SQL レビュー]: グローバルな SQL ペイロード分析を提供し、データベースインスタンス内の疑わしい SQL 文を迅速に特定、分析し、最適化の提案を受け取るのに役立ちます。詳細については、「SQL レビュー」をご参照ください。

    • [トラフィック再生とストレステスト]: トラフィック再生とストレステスト機能を提供し、インスタンスタイプをスケールアウトしてピーク時のサービストラフィックに効果的に対処する必要があるかどうかを確認するのに役立ちます。詳細については、「トラフィック再生とストレステスト」をご参照ください。

    • [セキュリティ監査]: 重大な SQL クエリ、SQL インジェクション、新しいアクセスソースなどの脅威を自動的に検出します。詳細については、「セキュリティ監査」をご参照ください。

    • [トランザクション分析]: この機能を使用して、指定した期間内の特定の スレッド のトランザクションタイプ、トランザクション数、およびトランザクションの詳細を表示できます。これにより、トランザクションレベルでデータベースのパフォーマンスを理解、分析、最適化するのに役立ちます。詳細については、「トランザクション分析」をご参照ください。

    • [クイックトランザクション分析]: この機能を使用すると、分析対象の SQL 文を含むトランザクションの開始文と終了文を特定できます。これにより、トランザクションがコミットされたかロールバックされたかを判断するのに役立ちます。詳細については、「クイックトランザクション分析」をご参照ください。

サポートされるリージョン

SQL Explorer と監査機能は、DAS Enterprise Edition を有効にした後にのみ使用できます。サポートされるリージョンはエディションによって異なります。詳細については、「エディションごとにサポートされるデータベースとリージョン」をご参照ください。

影響

SQL Explorer 機能は、実行されたすべての DQL、DML、および DDL 文に関する情報を記録します。DAS はデータベースカーネルから情報を取得しますが、消費する CPU リソースはごくわずかです。

注意事項

RAM ユーザーが [検索] 機能を使用するには、RAM ユーザーに [AliyunPolardbReadOnlyWithSQLLogArchiveAccess] 権限を付与する必要があります。RAM ユーザーに権限を付与する方法の詳細については、「RAM ユーザーの作成と管理」をご参照ください。

説明

カスタムポリシーを使用して、ログエクスポート機能を含む検索機能を使用する権限を RAM ユーザーに付与することもできます。詳細については、「カスタムポリシーを使用して、SQL Explorer と監査の検索機能 (ログエクスポートを含む) を使用する権限を RAM ユーザーに付与する」をご参照ください。

課金

Enterprise Edition V0

SQL Explorer 機能は 従量課金 の課金方法に基づいて課金でき、サブスクリプション の課金方法はサポートしていません。関連する料金は PolarDB の下に分類されます。

料金

  • 中国本土のリージョン: 1 GB 時間あたり 0.0013 米ドル

  • 中国 (香港) および中国国外のリージョン: 1 GB 時間あたり 0.0019 米ドル

Enterprise Edition V0 以降

(オプション) SQL Explorer の課金ルール 詳細については、「DAS の課金」をご参照ください。

SQL Explorer と監査の有効化

  1. PolarDB コンソールにログインします。左側のナビゲーションウィンドウで、[クラスターリスト] をクリックします。クラスターが配置されているリージョンを選択し、ターゲットクラスターの ID をクリックしてクラスター詳細ページに移動します。

  2. 左側のナビゲーションウィンドウで、[ログと監査] > [SQL Explorer] を選択します。

  3. [SQL Explorer を有効にする] をクリックします。

    説明

    Alibaba Cloud アカウントで DAS Enterprise Edition が有効になっていない場合は、画面の指示に従って有効にしてください。

  4. 表示されたページで、タブをクリックして関連情報を表示します。

    • [検索 (監査)]: データベース、ステータス、実行時間など、SQL 文とそれに対応する情報をクエリおよびエクスポートします。

    • [SQL Explorer]:

      • 時間範囲の表示: 時間範囲を選択して、SQL インサイトの結果を表示します。選択した時間範囲内のすべての SQL 文について、実行期間の文布実行時間、および 実行回数 を表示できます。また、完全なリクエスト統計 エリアですべての SQL 文の詳細情報を表示し、ローカルマシンにエクスポートすることもできます。

        説明
        • 最大 1,000 件の SQL ログをエクスポートできます。より広い時間範囲のログや、より多くのログを取得するには、[検索 (監査)] 機能を使用できます。

        • [SQL Explorer] を有効にした後、[監査] ログが利用可能になるまで 30 分ほどお待ちください。

      • 比較リストの表示: SQL Explorer の結果を比較したい時点を選択し、実行期間の文布実行時間、および 実行回数 に基づいてすべての SQL 文の比較結果を表示します。また、比較リストのリクエスト エリアで詳細な比較結果を表示することもできます。

      • ソース統計: 時間範囲を選択して、選択した範囲内のすべての SQL 文のソース情報を表示します。

      • SQL レビュー: 選択した時間範囲とベースラインの時間範囲内で、データベースクラスターのワークロードとそこで実行される SQL 文を分析します。この詳細な分析により、インデックスの最適化の提案、SQL の再書き込みの提案、Top SQL、新しい SQL、失敗した SQL、SQL 機能分析、実行が変更された SQL、パフォーマンスが低下した SQL、およびトラフィックが最も多いテーブルが提供されます。

      • 関連する SQL の特定: 表示したいメトリックを選択し、分析 ボタンをクリックします。1〜5 分後、選択した時間範囲内でメトリックの変化傾向と最も類似している SQL 文とその詳細情報を見つけることができます。

      • [トラフィック再生とストレステスト]: 短期的なビジネスピークが迫っている場合や、データベーススキーマの進化 (特にインデックスの変更) がある場合に、トラフィック再生とストレステスト機能を使用して、データベースクラスターをスケールアウトする必要があるかどうかを確認し、実際のビジネスシナリオでの実際のパフォーマンスを検証し、サービス公開後の障害リスクを低減できます。

      • [セキュリティ監査]: 重大な操作、SQL インジェクション、新しいアクセスソースなどの脅威を自動的に検出します。

      • [トランザクション分析]: この機能は、DAS Enterprise Edition V3 のホットストレージデータに基づいて、選択された スレッド と時間範囲のトランザクション詳細を分析します。その後、統計分析を行い、さまざまな種類のトランザクション数を示すトレンドチャートを描画します。

パラメーターの説明

  • 実行期間の文布: [実行時間の分布] タブでは、指定した時間範囲に基づいて SQL クエリの実行時間の分布を表示できます。統計データは 1 分ごとに収集されます。実行時間は 7 つの範囲に分けられます:

    • [0,1] ms: 実行時間が 0 ms から 1 ms の範囲であることを示します。チャートには、実行時間がこの範囲内にある SQL クエリの割合が表示されます。

    • (1,2] ms: 実行時間が 1 ms より大きく 2 ms 以下であることを示します。チャートには、実行時間がこの範囲内にある SQL クエリの割合が表示されます。

    • (2,3] ms: 実行時間が 2 ms より大きく 3 ms 以下であることを示します。チャートには、実行時間がこの範囲内にある SQL クエリの割合が表示されます。

    • (3,10] ms: 実行時間が 3 ms より大きく 10 ms 以下であることを示します。チャートには、実行時間がこの範囲内にある SQL クエリの割合が表示されます。

    • (10,100] ms: 実行時間が 10 ms より大きく 100 ms 以下であることを示します。チャートには、実行時間がこの範囲内にある SQL クエリの割合が表示されます。

    • (0.1,1]s: 実行時間が 0.1 秒より大きく 1 秒以下であることを示します。チャートには、実行時間がこの範囲内にある SQL クエリの割合が表示されます。

    • > 1s: 実行時間が 1 秒より大きいことを示します。チャートには、実行時間がこの範囲内にある SQL クエリの割合が表示されます。

    説明

    実行期間の文布 タブのセクションには、インスタンス上の SQL 文の実行時間が時系列で表示されます。チャートの青い領域が大きいほど、インスタンス上で SQL 文が実行される際のインスタンスの健全性が高いことを示します。チャートのオレンジと赤の領域が大きいほど、インスタンス上で SQL 文が実行される際のインスタンスの健全性が低いことを示します。

  • [実行時間]: [実行時間] タブでは、時間範囲を指定して SQL クエリの実行時間を表示できます。

  • [完全なリクエスト統計]: 指定した時間範囲に基づいて SQL 文の詳細を表示できます。詳細には、各 SQL 文の SQL テキスト、実行時間率、平均実行時間、実行トレンドが含まれます。

    説明

    特定の SQL テンプレートを使用する SQL 文の実行時間率は、次の数式に基づいて計算できます: 実行時間率 = (SQL テンプレートを使用する SQL 文の実行時間 × SQL 文の実行回数) / (すべての SQL 文の総実行時間 × 総実行回数) × 100%。実行時間率が高いほど、データベースインスタンスが対応する SQL 文を実行するためにより多くの MySQL リソースを使用していることを示します。

  • [SQL ID]: [SQL ID] をクリックすると、対応する SQL テンプレートを使用する SQL 文のパフォーマンストレンドとサンプルデータを表示できます。

  • [SQL サンプル]: [SQL サンプル] タブでは、各サンプル SQL リクエストを開始したクライアントを表示できます。

    説明

    SQL サンプルは UTF-8 文字セットを使用してエンコードされます。

SQL ログのストレージ期間の変更

警告

SQL Explorer と監査データのストレージ期間を短縮すると、DAS は新しいストレージ期間を超える SQL 監査ログを直ちに削除します。ストレージ期間を短縮する前に、SQL 監査ログをコンピュータにエクスポートして保存してください。

  1. PolarDB コンソールにログインします。左側のナビゲーションウィンドウで、[クラスターリスト] をクリックします。クラスターが配置されているリージョンを選択し、ターゲットクラスター ID をクリックしてクラスター詳細ページに移動します。

  2. 左側のナビゲーションウィンドウで、[ログと監査] > [SQL Explorer] を選択します。

  3. 右上隅の [サービス設定] をクリックします。

  4. ストレージ期間を変更し、[OK] をクリックします。

    説明
    • DAS Enterprise Edition V3 を有効にしている場合、さまざまなサブ機能のデータストレージ期間を変更できます。

    • SQL Explorer と監査データのストレージスペースは DAS によって提供され、データベースクラスターのストレージスペースを占有しません。

SQL Explorer と監査の無効化

警告

SQL Explorer と監査機能を無効にすると、SQL 監査ログは削除されます。機能を無効にする前に、SQL 監査ログをコンピュータにエクスポートして保存してください。機能を再度有効にすると、SQL 監査ログは再有効化の時点から記録されます。

  1. PolarDB コンソールにログインします。左側のナビゲーションウィンドウで、[クラスターリスト] をクリックします。クラスターが配置されているリージョンを選択し、ターゲットクラスター ID をクリックしてクラスター詳細ページに移動します。

  2. 左側のナビゲーションウィンドウで、[ログと監査] > [SQL Explorer] を選択します。

  3. [サービス設定] をクリックして、SQL Explorer と監査をオフにします。

    DAS Enterprise Edition V3 を有効にしている場合は、SQL Explorer と監査のすべての機能のチェックボックスをオフにします。

    説明
    • Simple Log Service の CloudLens for PolarDB で PolarDB for MySQL の監査ログ収集機能を有効にすると、対応する PolarDB for MySQL クラスターの SQL Explorer 機能が自動的に有効になります。したがって、PolarDB for MySQL クラスターの監査ログ収集機能も無効にする必要があります。詳細については、「データ収集機能を有効にする」をご参照ください。

    • SQL Explorer 機能を無効にすると、SQL 監査ログは削除されます。機能を無効にする前に SQL レコードをエクスポートしてください。SQL レコードのエクスポート方法の詳細については、「SQL ログレコードのエクスポート」をご参照ください。

  4. [OK] をクリックします。

監査ログのサイズと消費詳細の表示

  1. Alibaba Cloud 管理コンソールにログインします。ページの右上隅にある [料金] をクリックします。

  2. 左側の [費用とコスト] ナビゲーションウィンドウで、[請求管理] > [請求書詳細] を選択します。[課金項目] 列が [sql_explorer] であるコスト詳細を表示します。

  3. [請求詳細] タブで、[詳細請求書] タブをクリックし、[インスタンス ID] で検索します。[課金項目] 列が [sql_explorer] であるコスト詳細を表示します。

    image

新しいバージョンへの移行

説明

現在、中国 (杭州)、中国 (上海)、中国 (北京)、および中国 (深圳) リージョンのデータベースクラスターのみが、古いバージョンの SQL Explorer と監査から新しいバージョンへの移行をサポートしています。

  1. PolarDB コンソールにログインします。左側のナビゲーションウィンドウで、[クラスターリスト] をクリックします。クラスターが配置されているリージョンを選択し、ターゲットクラスター ID をクリックしてクラスター詳細ページに移動します。

  2. 左側のナビゲーションウィンドウで、[ログと監査] > [SQL Explorer] を選択します。

  3. [SQL Explorer を 'SQL Explorer と監査' にアップグレード] ダイアログボックスで、[ワンクリックアップグレード] をクリックします。

異なる Enterprise Edition 間での SQL Explorer と監査データの移行

Enterprise Edition V1 と比較して、Enterprise Edition V2 は異なる基盤となるストレージアーキテクチャを使用しています。ホットストレージとコールドストレージのハイブリッドを使用してコストを削減します。Enterprise Edition V3 は、ハイブリッドストレージアーキテクチャ上に構築されており、使用する機能に基づいて料金を項目化することで、より柔軟な課金を提供します。これにより、コストがさらに削減されます。

データベースクラスターが Enterprise Edition V3 をサポートしている場合、DAS Enterprise Edition V1 または V2 から Enterprise Edition V3 にデータを移行して、コスト削減のメリットを享受できます。詳細については、「異なる DAS Enterprise Edition 間でデータを移行するにはどうすればよいですか?」をご参照ください。

よくある質問

[SQL Explorer]: 料金はリソースプランで相殺できますか?

いいえ。SQL Explorer 機能は 従量課金 の課金方法のみをサポートしています。サブスクリプション の課金方法とリソースプランはサポートされていません。

[SQL Explorer] [完全なリクエスト統計] エリア: logout! 文とは何ですか?

logout! は切断を示します。logout! の期間は、最後の対話から logout! イベントが発生するまでの時間差であり、接続のアイドル時間を表します。[ステータス] 列の値 [1158] は、ネットワークの切断を示します。考えられる理由は次のとおりです:

  • クライアント接続がタイムアウトしました。

  • サーバーが異常に切断されました。

  • interactive_timeout または wait_timeout の期間を超えたため、サーバー接続がリセットされました。

[SQL Explorer][ソース統計] に、なぜ %[アクセスソース] が表示されるのですか?

これは、ストアドプロシージャを使用するときに発生する可能性があります。次の例は、これがどのように発生するかを示しています:

説明

次の例では、PolarDB for MySQL クラスター、test_user という名前のテストアカウント、および test_db という名前のテストデータベースが使用されます。

  1. PolarDB コンソールで、標準アカウントと、そのアカウントがアクセスを許可されているデータベースを作成します。詳細については、「標準アカウントの作成」をご参照ください。

  2. テストアカウントを使用して、コマンドラインからデータベースクラスターに接続します。詳細については、「コマンドラインからクラスターに接続する」をご参照ください。

  3. テストデータベースに切り替えて、次のストアドプロシージャを作成します。

    -- テストデータベースに切り替えます
    USE test_db;
    -- ストアドプロシージャを作成します
    DELIMITER $$
    DROP PROCEDURE IF EXISTS `das` $$
    CREATE DEFINER=`test_user`@`%` PROCEDURE `das`()
    BEGIN
        SELECT * FROM information_schema.processlist WHERE Id = CONNECTION_ID();
    END $$
    DELIMITER ;
  4. 特権アカウントを使用してデータベースクラスターに接続します。詳細については、「特権アカウントの作成」および「コマンドラインからクラスターに接続する」をご参照ください。

  5. ストアドプロシージャを呼び出します。

    -- テストデータベースに切り替えます
    USE test_db;
    -- ストアドプロシージャを呼び出します
    CALL das();
    -- 呼び出し結果
    +-----------+-----------+---------+---------+---------+------+-----------+-------------------------------------------------------------------------+
    | ID        | USER      | HOST    | DB      | COMMAND | TIME | STATE     | INFO                                                                    |
    +-----------+-----------+---------+---------+---------+------+-----------+-------------------------------------------------------------------------+
    | 269660316 | test_user | %:46182 | test_db | Query   |    0 | executing | SELECT * FROM information_schema.processlist WHERE Id = CONNECTION_ID() |
    +-----------+-----------+---------+---------+---------+------+-----------+-------------------------------------------------------------------------+

監査ログリストに表示されるデータベース名が SQL 文のデータベース名と一致しないのはなぜですか?

ログリストに表示されるデータベース名はセッションから取得されます。SQL 文のデータベース名はユーザーによって指定され、クロスデータベースクエリや動的 SQL シナリオなど、ユーザーの入力やクエリの設計に依存します。したがって、2 つのデータベース名が一致しない場合があります。

SQL Explorer と監査を有効にすると、データベースのパフォーマンスに影響しますか?もしそうなら、どのような影響がありますか?

はい、しかし影響は最小限で、ほとんど気づかれません。

リソース使用量は次のとおりです:

  • CPUメモリ: 消費量は非常に低く、無視できます。

  • ストレージスペース: この機能は主に監査情報を保存するために使用されます。ただし、DAS Enterprise Edition の SQL Explorer と監査機能は DAS が提供するストレージスペースを使用し、データベースクラスターのストレージスペースを占有しません。

  • ネットワーク: ネットワークパフォーマンスには影響しません。

  • ディスクパフォーマンス: 監査データはデータベースクラスターのディスクではなく DAS 側に保存されるため、ディスクパフォーマンスには影響しません。