低速クエリログ機能を使用して SQL 文を診断し、最適化できます。 このトピックでは、ApsaraDB RDS for MySQL インスタンスの例で、SQL 文を最適化する方法を説明します。

始める前に

  • この機能は、ApsaraDB RDS for MySQL データベース、自己管理型 MySQL データベース、PolarDB for MySQLデータベース、ApsaraDB for MongoDB データベースでのみ使用できます。
  • ApsaraDB RDS for MySQL インスタンスが、Database Autonomy Service (DAS) に接続されていること。 詳細については、「RDSデータベースインスタンスへの接続」および「自己管理インスタンスへのアクセス」をご参照ください。
  • インスタンスの状態がアクセス中であること。

[低速ログの統計情報] タブで SQL ステートメントを最適化する

  1. [低速ログの統計情報] タブで、SQL テンプレートを確認します。 タブ右側の [操作] 列で [最適化] をクリックします。
    [低速ログの統計情報] タブに移動する方法については、「低速クエリログの分析」をご参照ください。
  2. [SQL の診断と最適化] ダイアログボックスで、右上隅に表示される [コピー] をクリックし、最適化された SQL 文をデータベースクライアントまたはデータ管理 (DMS) にペーストして実行します。 SQL 診断の提案事項を受け入れない場合は、[OK] をクリックします。
    DAS は、SQL 文の複雑さ、テーブル内のデータ量、およびデータベースの負荷に基づいて SQL 診断を実行します。 SQL 診断の実行から提案事項が返されるまでの時間は 20 秒を超える場合があります。 診断が完了すると、SQL 診断エンジンから診断結果、最適化の提案事項、および期待される最適化の効果が返されます。 診断結果に基づいて、提案事項を受け入れるかどうかを決定できます。

[インスタンスのセッション] ページで SQL ステートメントを最適化する

  1. [インスタンスのセッション] ページで SQL 文を選択し、[最適化] をクリックします。
    [インスタンスのセッション] ページに移動する方法については、「ApsaraDB RDS for MySQL インスタンスのセッション統計を表示する」をご参照ください 。
  2. [SQL の診断と最適化] ダイアログボックスで、右上隅に表示される [コピー] をクリックし、最適化された SQL 文をデータベースクライアントまたは DMS にペーストして実行します。 SQL 診断の提案事項を受け入れない場合は、[OK] をクリックします。
  3. 左側のナビゲーションペインで、[診断履歴のリクエスト] をクリックすると、現在のインスタンスの最適化履歴が表示されます。 たとえば、SQL 文および診断の開始時刻を表示できます。