Database Autonomy Service (DAS) は、診断結果を自動的に提供し、最適化の提案を提供し、予想される最適化のメリットを分析するSQL最適化機能を提供します。 診断結果に基づいて、提案を採用するかどうかを決定できます。 このトピックでは、SQL最適化機能の使用方法について説明します。
前提条件
管理するデータベースインスタンスは、次のいずれかのタイプです。
ApsaraDB RDS for MySQL
自己管理型 MySQL データベース
ApsaraDB MyBase for MySQL
ApsaraDB RDS for PostgreSQL
PolarDB for MySQL
説明1つのノードを持つPolarDB for MySQL Cluster Editionはサポートされていません。
PolarDB-Xの2.0
説明メジャーバージョンが
5.4.13
でマイナーバージョンが16415631〜16504348
のPolarDB-X 2.0インスタンスはサポートされていません。 PolarDB-X 2.0インスタンスのバージョンを表示する方法の詳細については、「インスタンスのバージョンの表示と更新」をご参照ください。
データベースインスタンスがDASに接続されています。 詳細については、「データベースインスタンスのDASへの接続」をご参照ください。
データベースインスタンスのステータスが正常なアクセスです。
制限事項
X-Engineを使用するテーブルに対するSQLクエリでは、SQL最適化機能はサポートされていません。
[スローログ] ページでSQL文を最適化する
DASコンソールにログインします。
左側のナビゲーションウィンドウで、インスタンスモニターをクリックします。
表示されるページで、管理するデータベースインスタンスを見つけ、インスタンスIDをクリックします。 インスタンス詳細ページが表示されます。
左側のナビゲーションウィンドウで、リクエスト分析>低速クエリログを選択します。
低速クエリログ分析 タブで、次の操作を実行します。
ページ下部の 低速クエリログの統計 タブをクリックします。 次に、最適化するSQLテンプレートを見つけ、操作 列の 最適化 をクリックします。
ページの下部にある 低速クエリログの詳細 タブをクリックします。 次に、最適化するSQL文を見つけて、操作 列の 最適化 をクリックします。
では、SQL 診断の最適化ダイアログボックスで、SQL診断の結果を表示します。
SQL最適化の提案を受け入れる場合は、右上隅の コピー をクリックし、最適化されたSQL文をデータベースクライアントまたはデータ管理 (DMS) に貼り付けて実行します。 提案を受け入れない場合は、Cancel をクリックします。
説明DASは、SQL文の複雑さ、テーブル内のデータ量、およびデータベースの負荷に基づいてSQL診断を実行します。 SQL診断が実行されてから20秒以上後に提案が返されることがあります。 診断が完了すると、SQL診断エンジンは診断結果、最適化の提案、および期待される最適化の利点を提供します。 診断結果に基づいて、提案を採用するかどうかを決定できます。
[インスタンスのセッション] ページで SQL ステートメントを最適化する
自己管理型MySQLデータベース、ApsaraDB For MongoDBインスタンス、およびApsaraDB RDS for PostgreSQLインスタンスの場合、[インスタンスセッション] ページでSQLの最適化を実行できません。
DASコンソールにログインします。
左側のナビゲーションウィンドウで、インスタンスモニターをクリックします。
表示されるページで、管理するデータベースインスタンスを見つけ、インスタンスIDをクリックします。 インスタンス詳細ページが表示されます。
左側のナビゲーションウィンドウで、インスタンスセッションをクリックします。
インスタンスのセッションタブで、[インスタンスセッション] セクションでSQL最適化を実行するセッションを選択し、最適化をクリックします。
SQL 診断の最適化ダイアログボックスで、SQL診断の結果を確認します。
SQL最適化の提案を受け入れる場合は、右上隅の コピー をクリックし、最適化されたSQL文をデータベースクライアントまたはデータ管理 (DMS) に貼り付けて実行します。 提案を受け入れない場合は、Cancel をクリックします。
説明DASは、SQL文の複雑さ、テーブル内のデータ量、およびデータベースの負荷に基づいてSQL診断を実行します。 SQL診断が実行されてから20秒以上後に提案が返されることがあります。 診断が完了すると、SQL診断エンジンは診断結果、最適化の提案、および期待される最適化の利点を提供します。 診断結果に基づいて、提案を採用するかどうかを決定できます。
SQL文のリクエスト診断履歴の表示
DASコンソールにログインします。
左側のナビゲーションウィンドウで、インスタンスモニターをクリックします。
表示されるページで、管理するデータベースインスタンスを見つけ、インスタンスIDをクリックします。 インスタンス詳細ページが表示されます。
左側のナビゲーションウィンドウで、診断履歴のリクエスト をクリックします。 表示されるページで、各SQL文の診断状態、開始時刻、診断結果など、SQL文の診断履歴を表示できます。