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

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

最終更新日:Jun 22, 2026

このトピックでは、ApsaraDB RDS for MySQL インスタンスのスロークエリログの詳細を表示する方法と、SQL ログの記録条件、ステートメントの切り捨て、タイムスタンプの差異、ログエントリ数の違いなど、よくある問題について説明します。

概要

ApsaraDB RDS for MySQL のスロークエリログ機能は、デフォルトで有効になっています。詳細については、「ApsaraDB RDS for MySQL スロークエリログの収集ポリシー」をご参照ください。他の種類のログを表示するには、「エラーログとスロークエリログの表示」をご参照ください。

注意事項

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

  • SQL ステートメントが 8,192 バイトを超えると、スロークエリログはステートメントを切り捨てます。同じ制限が SQL Explorer にも適用されます。この 8,192 バイトの切り捨て制限は変更できません。完全な SQL ステートメントを取得するには、アプリケーションから完全なリクエストを取得してください。

スローログ分析ページでのログの照会

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

  3. [スローログ分析] タブで、時間範囲を選択して、対応するスロークエリログの統計と詳細を表示します。

    説明

    インスタンス詳細ページから [ログ] ページに移動し、[スローログ詳細] タブでスロークエリログの詳細を表示することもできます。

    重要
    • スロークエリログの詳細には、SQL ステートメント、アクセス元、データベース、実行時間などの情報が含まれます。スロークエリログの収集時間は、マイナーエンジンバージョンによって記録方法が異なります。以前のバージョンでは、このタイムスタンプはクエリの終了時間を示していました。マイナーエンジンバージョン 20211231 (MySQL 5.7.35 の場合) および 20220530 (MySQL 8.0.25 の場合) 以降、タイムスタンプはクエリの開始時間を示すようになりました。

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

よくある質問

SQL ログの記録条件

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

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

実行時間の差異

この差異は、SQL ステートメントの実行中にタイムゾーンが変更された場合に発生する可能性があります。スロークエリログのタイムスタンプのタイムゾーンは、セッション、データベース、またはシステムレベルで設定できます。

データベースに特定のタイムゾーンが設定されている場合はそのタイムゾーンが使用され、それ以外の場合はシステムのタイムゾーンが使用されます。SQL ステートメントがセッションレベルのタイムゾーンを変更すると、スロークエリログのタイムゾーン変換が失敗し、時間の差異が発生する可能性があります。

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

SHOW PROCESSLIST で、実行時間がスロークエリログのしきい値を超えているにもかかわらずログに表示されないセッションが見られる場合、これは通常、SQL ステートメントが手動または自動で終了 (強制終了) されたためです。この場合、SQL ステートメントはスロークエリログの詳細に記録されません。