Database Autonomy Service (DAS) は、診断結果、最適化の提案、および期待されるパフォーマンス向上効果を自動的に生成する SQL 最適化機能を提供します。これらの結果をもとに、提案の適用可否を判断できます。本トピックでは、SQL 最適化機能の使用方法について説明します。
始める前に
データベースエンジンは、
RDS for MySQL
説明RDS for MySQL の Basic エディションおよび Cluster エディションはサポートされていません。
MyBase MySQL
PolarDB for MySQL
説明PolarDB for MySQL のシングルノードクラスター(旧称:スタンドアロンインスタンス)はサポートされていません。
PolarDB-X 2.0
説明メジャーバージョンが
5.4.13で、マイナーバージョンが[16415631,16504348]の範囲内の PolarDB-X 2.0 インスタンスはサポートされていません。ご利用の PolarDB-X 2.0 インスタンスのバージョンを確認するには、「インスタンスバージョンの表示とアップグレード」をご参照ください。MongoDB
宛先インスタンスが DAS に接続されている必要があります。詳細については、「インスタンス接続の概要」をご参照ください。
宛先インスタンスのアクセス状態が 正常なアクセス である必要があります。
制限事項
X-Engine テーブルを使用する SQL 文に対する診断および最適化はサポートされていません。
PolarDB-X では、プリペアドステートメントを使用して SQL 文を実行した場合、スロークエリログに文テンプレート(例:
select * from test where a = ? and b = ?)とバインドパラメーター(例:params: [1, 2])が別々に記録されます。この形式は有効な SQL 文として直接実行できないため、元の文に基づいて分析または最適化を行う機能の利用が制限される場合があります。
スローログ分析ページでグラフィカルな実行計画を作成する
この機能は、複雑な SQL 実行プロセスを視覚的に表現します。グラフィカルなインターフェイスにより、クエリの実行パス、各ノードの効率、および潜在的なパフォーマンスボトルネックを明確に把握できます。これにより、スロー SQL 文の最適化、リリース前のコードレビュー、および自己点検などのシナリオにおいて、問題を迅速に特定・解決できます。
現在、スローログ分析ページにおける SQL 最適化は、RDS for MySQL 5.6、5.7、および 8.0 および PolarDB for MySQL 5.6、5.7、および 8.0 インスタンスのみでサポートされています。
DAS コンソールにログインします。
左側のナビゲーションウィンドウで、 をクリックします。
対象のインスタンスを見つけ、インスタンス ID をクリックしてインスタンス詳細ページを開きます。
左側のナビゲーションウィンドウで、リクエスト分析 > 低速クエリログ をクリックします。
スロークエリログ分析 ページで:
スロークエリログの統計 タブで、対象の SQL テンプレートを見つけ、最適化 をクリックします(操作 列)。
スロークエリログの詳細 タブで、対象の SQL 文を見つけ、最適化 をクリックします(操作 列)。
表示されたダイアログボックスで、計画の作成 をクリックします。
実行ノードのタイプを選択します。
セカンダリノード(デフォルト):現在のインスタンスのセカンダリノードであり、通常のクエリ分析に主に使用されます。
ソースノード:SQL 文が実行された業務ノードです。トラブルシューティングおよび最適化に適しています。
作成の確認 をクリックして、グラフィカルな実行計画 を作成します。
グラフィカルな実行計画の詳細
インスタンスセッションページで SQL 最適化を実行する
現在、インスタンスセッション ページにおける SQL 最適化は、セルフマネージド MySQL、MongoDB、および RDS for PostgreSQL インスタンスではサポートされていません。
DAS コンソールにログインします。
左側のナビゲーションウィンドウで、 をクリックします。
対象のインスタンスを見つけ、インスタンス ID をクリックしてインスタンス詳細ページを開きます。
左側のナビゲーションウィンドウで、インスタンスセッション をクリックします。
インスタンスのセッション エリアで、最適化対象のセッションを見つけ、最適化 をクリックします。
表示された SQL 診断の最適化 ダイアログボックスで、SQL 診断結果を確認します。
提案を採用する場合は、ページ右上隅の コピー をクリックし、最適化された SQL 文をデータベースクライアントまたは DMS に貼り付けて実行してください。提案を採用しない場合は、Cancel をクリックしてダイアログボックスを閉じます。
説明DAS は、SQL 文の複雑さ、対応するテーブルのデータ量、およびデータベースの負荷に基づいて診断を行います。診断には 20 秒以上かかる場合があります。診断完了後、診断エンジンが結果、最適化の提案、および期待されるパフォーマンス向上効果を提供します。これらの結果をもとに、提案の適用可否を判断できます。
SQL 診断履歴の表示
DAS コンソールにログインします。
左側のナビゲーションウィンドウで、 をクリックします。
対象のインスタンスを見つけ、インスタンス ID をクリックしてインスタンス詳細ページを開きます。
左側のナビゲーションウィンドウで、診断履歴のリクエスト をクリックして、現在のインスタンスの SQL 診断履歴を表示します。履歴には、SQL 内容、診断ステータス、診断時間、診断結果などの詳細が含まれます。