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

Database Autonomy Service:スロークエリログ

最終更新日:Mar 29, 2026

スロークエリログは、データベースの安定性を著しく損なう可能性があります。データベースが高負荷状態やパフォーマンスの変動に直面した場合、DBA や開発者は通常、まずスロークエリの有無を確認します。Database Autonomy Service (DAS) は、設定された実行時間しきい値を超える SQL ステートメントを収集・分析し、対応に必要な情報を提供します。

  • 選択した期間におけるスロークエリの傾向

  • SQL テンプレートごとに集計された統計情報(実行回数、実行時間、スキャン行数などのメトリックを含む)

  • 根本原因分析のための個別ステートメント詳細

  • ワンクリックによる SQL 診断(最適化の提案および推定されるパフォーマンス向上効果を含む)

  • 暴走クエリを制限するための SQL スロットリングへの直接アクセス

ビデオ紹介

新バージョンのスローログ紹介.mp4

前提条件

開始する前に、以下の条件を満たしていることを確認してください。

  • データベースエンジンが、以下のいずれかである:

    • ApsaraDB RDS for MySQL、PolarDB for MySQL、MyBase for MySQL、またはセルフマネージド MySQL

    • ApsaraDB RDS for SQL Server または MyBase for SQL Server

    • ApsaraDB RDS for PostgreSQL または PolarDB for PostgreSQL

    • Tair (Redis OSS-compatible)、またはセルフマネージド Redis

    • PolarDB for PostgreSQL (Compatible with Oracle)

    • PolarDB-X 2.0

    • ApsaraDB for MongoDB またはセルフマネージド MongoDB

  • 対象のデータベースインスタンスが DAS に接続されていること。詳細については、「データベースインスタンスを DAS に接続する」をご参照ください。

重要

スロークエリログの詳細は、すべてのリージョンで利用可能です。リアルタイムのスロークエリログ統計は、以下のリージョンでのみ利用可能です:中国本土、中国 (香港)、シンガポール、マレーシア (クアラルンプール)、インドネシア (ジャカルタ)、日本 (東京)、ドイツ (フランクフルト)、イギリス (ロンドン)、米国 (シリコンバレー)、および米国 (バージニア)。新しい「スロークエリログ」ページでは、セルフマネージドデータベースインスタンスはサポートされていません。

スロークエリログの仕組み

スロークエリログは、クエリの実行時間が設定されたしきい値を超えた場合に、データベースカーネルによって生成されます。しきい値を制御するパラメーター名およびデフォルト値は、データベースエンジンによって異なります。正確なパラメーター名および構成手順については、使用中のデータベースエンジンの公式ドキュメントをご参照ください。

単一インスタンスのスロークエリログの表示

本セクションでは、ApsaraDB RDS for MySQL データベースを例として説明します。

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

  2. 左側ナビゲーションウィンドウで、インテリジェント O&M センター > インスタンス監視 をクリックします。

  3. 対象インスタンスの ID をクリックして、インスタンス詳細ページに移動します。

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

  5. スローログ分析 タブで、期間を選択します。このタブには以下のセクションが表示されます:スロークエリログの傾向 時間経過に伴うスロークエリ件数を示すチャートです。チャート上のポイントをクリックすると、スロークエリログ統計 および スロークエリログ詳細 の表示範囲がその時点にフィルターされます。

    イベント分布 選択した期間内のスローログイベントです。イベントをクリックすると、その詳細を表示できます。スロークエリログ統計 SQL テンプレートごとに集計されたスロークエリデータです。各行には、実行回数、合計実行時間、平均実行時間、スキャン行数、返却行数などのメトリックが表示されます。リスト上部のフィルターを使用して結果を絞り込みます。利用可能なフィルター項目は、データベースエンジンによって異なります。スロークエリログ詳細 個別のスロークエリレコードです。操作 列で、特定のステートメントに対して SQL 診断を実行する場合は 最適化 を、スロットリングを構成する場合は スロットリング をクリックします。

    • SQL ID 列の SQL テンプレート ID をクリックすると、ユーザー分布、クライアント分布、メトリクスの傾向などの相関関係および分布詳細を表示できます。

    • 操作 列で 最適化 をクリックして SQL 診断を実行します。DAS は、ステートメントの複雑度、関連テーブルのデータ量、およびデータベースのワークロードに基づいて診断を実行します。診断には 20 秒以上かかる場合があります。完了後、診断エンジンは診断結果、最適化の提案、および推定されるパフォーマンス向上効果を返します。> 注: スロー SQL ステートメントが長すぎて完全に表示されない場合は、マウスをそのステートメント上に合わせると、ダイアログボックス内で完全なステートメントを確認できます。

    • 操作 列で スロットリング をクリックして、スロットリングルールの作成 ページを開き、SQL ステートメントのスロットリングパラメーターを構成します。詳細については、「SQL スロットリング」をご参照ください。

    • PolarDB for MySQL インスタンスの場合、以下のすべての条件が満たされたときに、[IMCI] ボタンが [操作] 列に表示されます:インスタンスにインメモリ列指向インデックス (IMCI) ノードが存在しないこと、スロークエリログの [最大実行時間] が 20 秒を超えていること、および [最大スキャン行数] が 200,000 を超えていることです。 [IMCI] をクリックすると、IMCI のドキュメントを表示し、大規模データセットに対する複雑なクエリのクエリパフォーマンスを向上させることができます。

    終了時刻は開始時刻より後である必要があります。最大期間は 7 日間です。過去 1 か月以内に生成されたログを照会できます。

グローバルスロークエリログの表示

複数のデータベースインスタンスを管理している場合、グローバルスローログ傾向 ページでは、該当するすべてのインスタンスにおけるスロークエリ活動の概要および上位 10 インスタンスの統計情報を確認できます。

重要

グローバルスローログ傾向機能は、中国本土リージョンの ApsaraDB RDS for MySQL、MyBase for MySQL、および PolarDB for MySQL インスタンスのみで利用可能です。

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

  2. 左側ナビゲーションウィンドウで、インテリジェント O&M センター > スローログ へ移動します。ページには グローバルスローログ傾向 チャートおよび 上位インスタンス統計 が表示されます。

    終了時刻は開始時刻より後である必要があります。過去 14 日以内に生成されたログを照会できます。

よくある質問

ApsaraDB RDS for MySQL および PolarDB for MySQL インスタンスにおいて、スロークエリログに記録された完了時刻が、実際の SQL 実行時間と異なるのはなぜですか?

これは、SQL ステートメントがセッションのタイムゾーンを変更した場合に発生します。スロークエリログのタイムスタンプは以下のロジックに従います:データベースレベルのタイムゾーンが設定されている場合は、そのタイムゾーンが適用されます。それ以外の場合は、システムタイムゾーンが適用されます。SQL ステートメントによって行われたセッションレベルのタイムゾーン変更は、スロークエリログのレコードには正しく反映されない場合があります。

古いスロークエリログページではアクセスできていたのに、新しいページで NoPermission エラーまたは Forbidden.RAM エラーが発生するのはなぜですか?

新しいページは、古いページとは異なる RAM 操作のセットを使用します。RAM ユーザーに次の権限を付与してください。手順については、「RAM ユーザーの権限付与」をご参照ください。

必須権限:

権限説明
DescribeSlowLogHistogramAsyncスローログ傾向チャートのデータ
DescribeSlowLogStatisticスローログテンプレート統計
DescribeSlowLogRecordsスロークエリログの詳細
GetInstanceEventWithGroupTypeイベントセンターのデータ
GetPerformanceMetricsパフォーマンストレンドデータ

推奨権限:

権限説明
CreateSqlTagSQL ステートメントにタグを付ける
DescribeDasQueryTagNamesSQL タグを取得する

次のステップ

手動介入なしでスロー SQL ステートメントを処理するために、DAS の自動管理機能を有効化します。