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

ApsaraDB RDS:スロークエリログの詳細の表示

最終更新日:Aug 19, 2026

このトピックでは、ApsaraDB RDS for MySQL のスロークエリログの詳細を表示する方法について説明します。また、SQL のログ記録条件、ステートメントの切り捨て、時刻の不一致、およびログ件数の差異に関するよくある質問 (FAQ) に回答します。

概要

ApsaraDB RDS for MySQL インスタンスでは、スロークエリログ機能はデフォルトで有効になっています。詳細については、「Collection policy for the slow query logs of ApsaraDB RDS for MySQL」をご参照ください。その他の種類のログを表示するには、「View error logs and slow query logs」をご参照ください。

注意事項

  • インスタンスが 1 分以内に 600 件を超えるスロークエリログエントリを生成した場合、一部のログエントリが失われることがあります。この問題は、マイナーエンジンバージョンを 20191212 以降にアップグレードすることで軽減できます。

  • SQL ステートメントが 8,192 バイトを超える場合、スロークエリログはステートメントを切り捨てます。

[スローログ分析] ページでのログのクエリ

  1. RDSインスタンスにアクセスし、上部のリージョンを選択し、対象のRDSインスタンスのIDをクリックします。
  2. 左側メニューで、自律型サービス > 低速 SQL を選択します。

  3. [スローログ分析] タブで、時間範囲を選択します。コンソールに、その範囲のスロークエリログの統計と詳細が表示されます。

    スロークエリログ統計の平均実行時間は秒単位で測定されます。一方、フル SQL 統計の平均レイテンシはミリ秒単位で測定されます。これら 2 つのモジュールは時間の粒度が異なり、対応する API も異なります。スロークエリログ統計は DescribeSlowLogs API に対応し、戻り値は秒単位です。フル SQL 統計は DescribeSQLLogReportList API に対応し、戻り値はミリ秒単位です。

    説明

    また、インスタンスの [Logs] ページに移動し、[Slow Log Details] タブをクリックして、スロークエリログの詳細を表示することもできます。

    image

    重要
    • スロークエリログの詳細には、SQL ステートメント、アクセス元、データベース、実行時間などの情報が含まれます。[User] フィールドには、SQL ステートメントを実行したデータベースアカウントの名前が表示されます。これは、Alibaba Cloud 管理コンソールにログインする際に使用する RAM ユーザーではありません。[User] フィールドは、Database Autonomy Service (DAS) の左側メニューで 自律型サービス > 低速 SQL > [Slow Log Details] を選択した場合にのみ利用できます。[Logs] ページの [Slow Log Details] タブには、このフィールドは含まれません。スロークエリログのタイムスタンプは、マイナーエンジンバージョン 20211231 (MySQL 5.7.35)、20220530 (MySQL 8.0.25) 以降では SQL 実行の開始時刻を示します。これより前のバージョンでは、タイムスタンプは SQL 実行の終了時刻を示します。

    • スロークエリログの詳細をエクスポートするには、「スローログ分析」をご参照ください。

よくある質問

SQL のログ記録条件

  • 実行時間に基づく:SQL ステートメントの実行時間が long_query_time パラメーターで指定されたしきい値を超える場合に記録されます。デフォルト値は 1 秒です。デフォルトでは、ApsaraDB RDS は実行に 1 秒を超えて要する SQL ステートメントをログに記録します。

  • インデックス使用状況に基づくlog_queries_not_using_indexes パラメーターが ON に設定されている場合、ApsaraDB RDS は、実行時間が long_query_time のしきい値を超えない場合でも、インデックスを使用しない SQL ステートメントを記録します。デフォルトでは、log_queries_not_using_indexes パラメーターは OFF です。

実行時間の不一致

この不一致は通常、SQL ステートメントがタイムゾーンを変更した場合に発生します。スロークエリログに記録される実行時間のタイムゾーンは、セッション、データベース、またはシステムレベルで設定できます。タイムゾーンは、次のロジックによって決定されます。

データベースのタイムゾーンが設定されている場合、システムはデータベースのタイムゾーンを使用します。設定されていない場合は、システムのタイムゾーンがデフォルトになります。SQL ステートメントがセッションレベルでタイムゾーンを変更すると、スロークエリログのタイムスタンプが誤って変換され、時刻の不一致が発生することがあります。

記録されないスロークエリ

これは通常、手動または自動で実行された KILL コマンドによってクエリが終了した場合に発生します。終了したステートメントはスロークエリログに追加されません。