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