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

Database Autonomy Service:低速クエリログ

最終更新日:Jun 18, 2025

低速 SQL クエリは、データベースの安定性を著しく低下させます。データベースで高負荷やパフォーマンスのジッターなどの問題が発生した場合、データベース管理者 (DBA) または開発者は、まず低速クエリログが生成されているかどうかを確認します。Database Autonomy Service (DAS) は、低速クエリのログ分析機能を提供します。DAS は、実行時間が指定されたしきい値を超える SQL 文の統計を収集して分析し、解決策を提供します。データベースのパフォーマンスの問題を簡単にトラブルシューティングできます。これにより、システムの信頼性と安定性が向上します。

前提条件

データベースエンジンは PolarDB for MySQL です。

説明

PolarDB for MySQL Enterprise Edition Single Node Edition はサポートされていません。

背景情報

低速クエリログは、データベースカーネルによって生成されます。関連するパラメーターとしきい値は、データベースエンジンによって異なります。詳細については、対応する公式ドキュメントをご参照ください。

手順

  1. DAS コンソール にログインします。

  2. 左側のナビゲーションウィンドウで、[インテリジェント O&M センター] > インスタンスモニター を選択します。

  3. 表示されたページで、管理するデータベースインスタンスを見つけ、インスタンス ID をクリックします。インスタンスの詳細ページが表示されます。

  4. 左側のナビゲーションウィンドウで、リクエスト分析 > 低速クエリログ を選択します。

  5. スロークエリログ分析 タブで、時間範囲を指定し、指定された時間範囲内の [低速クエリログのトレンド][イベント分布][低速クエリログ統計]、および [低速クエリログの詳細] を表示します。

    説明

    時間範囲を指定する場合、終了時刻は開始時刻より後でなければならず、開始時刻と終了時刻の間隔は 24 時間を超えることはできません。過去 1 か月以内の低速クエリログをクエリできます。

    • [低速クエリログのトレンド] セクションで、トレンドチャートの時刻をクリックし、その時刻の低速クエリログの統計と詳細を表示できます。

      説明

      GUI の長さ制限により SQL 文の内容が完全には表示されない場合は、ポインターを SQL 文の上に移動すると、完全な内容を表示できます。

    • [イベント分布] セクションで、次の操作を実行します。

      指定した時間範囲内の低速クエリログイベントをクエリできます。イベントをクリックすると、詳細が表示されます。

    • [ノード ID] ドロップダウンリストから目的のノードを選択して、ノード上の低速クエリの数を表示します。

    • image アイコンをクリックして、低速クエリログをコンピューターにダウンロードします。

    • image をクリックして、選択および入力したパラメーターを OpenAPI コンソールに設定し、API デバッグを行います。

    • [低速クエリログ統計] タブで、次の操作を実行します。

      • リストの上部でフィルター条件を設定します。データベースエンジンが異なると、フィルター条件も異なります。

      • 管理する SQL テンプレートに対応する SQL ID をクリックして、ユーザー分布、クライアント分布、メトリックトレンドの相関関係、および詳細リストを表示します。

      • SQL テンプレートに対応する 操作 列の 最適化 をクリックします。SQL 診断の最適化 ダイアログボックスで、SQL 診断結果を表示します。

        SQL 最適化の提案を受け入れる場合は、右上隅にある コピー をクリックし、最適化された SQL 文をデータベースクライアントまたは Data Management (DMS) に貼り付けて実行します。SQL 最適化の提案を受け入れない場合は、Cancel をクリックします。

        説明

        DAS は、SQL 文の複雑さ、テーブル内のデータ量、およびデータベースの負荷に基づいて SQL 診断を実行します。SQL 診断の実行後、20 秒以上経過してから提案が返される場合があります。診断が完了すると、SQL 診断エンジンは、診断結果、最適化の提案、および予想される最適化のメリットを提供します。診断結果に基づいて、提案を受け入れるかどうかを判断できます。

      • 管理する SQL テンプレートを見つけ、操作 列の スロットリングを実行してください。 をクリックします。SQL スロットリング ダイアログボックスで、パラメーターを設定します。詳細については、「SQL スロットリング」をご参照ください。

      • PolarDB for MySQL クラスターの場合、管理する SQL テンプレートを見つけ、操作 列の [IMCI] をクリックして、インメモリーカラムインデックス (IMCI) 機能のドキュメントを表示します。

        説明
        • PolarDB for MySQL クラスター用に IMCI ノードが購入されていない場合、SQL テンプレートの最大実行時間が 20 秒を超え、SQL テンプレートの最大スキャン行数が 200,000 を超える場合、[IMCI] ボタンが [アクション] 列に表示されます。

        • 大量のデータに対して複雑なクエリが必要な場合は、IMCI 機能を使用してクエリのパフォーマンスを向上させることをお勧めします。

    • [低速クエリログの詳細] タブで、管理する SQL 文を見つけ、操作 列の 最適化 または スロットリングを実行してください。 をクリックします。このようにして、SQL 診断または SQL スロットリングを実行することもできます。

よくある質問

Q: 低速クエリログに記録されている SQL 文の実行完了時刻が、SQL 文の実際の実行完了時刻と異なるのはなぜですか?

A: この問題は通常、低速クエリログに記録されているタイムゾーンが、実行された SQL 文によって変更された場合に発生します。SQL 文の実行完了時刻は、セッションレベル、データベースレベル、およびシステムレベルで低速クエリログに記録されているタイムゾーンによって異なります。データベースにタイムゾーンが指定されている場合、SQL 文の実行完了時刻は、データベースのタイムゾーンに基づいて記録されます。それ以外の場合、SQL 文の実行完了時刻は、システムのタイムゾーンに基づいて記録されます。SQL 文がセッションレベルでタイムゾーンを変更する場合、低速クエリログに記録されているタイムゾーンが正しく変換されない場合があります。

関連情報

DAS の自律機能を有効にすることができます。このようにして、データベースインスタンスで低速 SQL クエリが検出されると、DAS は低速 SQL クエリを自動的に最適化します。