実行が遅い SQL ステートメント、または実行効率がアプリケーションのパフォーマンスに著しく影響する SQL ステートメントを最適化します。Database Autonomy Service (DAS) は、自動 SQL 最適化をサポートしています。DAS は問題のある SQL ステートメントを自動的に検出し、インデックスの最適化を提案し、テーブルをロックせずにインデックスを作成します。
前提条件
RDS インスタンスは、次のいずれかの MySQL バージョンと RDS エディションを実行している必要があります。
RDS 高可用性版の MySQL 8.0、RDS Enterprise Edition、または RDS Cluster Edition
RDS 高可用性版の MySQL 5.7、RDS Enterprise Edition、または RDS Cluster Edition
RDS 高可用性版の MySQL 5.6
RDS 高可用性版の MySQL 5.5
低速 SQL ステートメントを最適化した後、グローバルパフォーマンスが低下する可能性があります。自動 SQL 最適化の精度を向上させるには、SQL エクスプローラーと監査を有効にします。
機能紹介
DAS がインデックスを自動的に作成する場合、MySQL カーネルでネイティブにサポートされているオンラインデータ定義言語 (DDL) 機能を使用します。これにより、通常のインデックスを作成するときに発生する可能性のあるテーブルロックが防止されます。詳細については、「SQL 最適化技術」をご参照ください。
制限事項
DAS は、X-Engine ストレージエンジンを使用するテーブルの SQL ステートメントの診断または最適化をサポートしていません。
手順
インスタンスページに移動します。上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。次に、RDS インスタンスを見つけて、インスタンスの ID をクリックします。
左側のナビゲーションウィンドウで、 を選択します。[自律センター] ページで、[自律サービススイッチ] をクリックします。
[自律サービス設定] タブで、自律サービスのスイッチをオンにします。次に、[最適化とスロットリング] タブで、[インデックスの自動作成と削除] を選択します。
[SQL 診断のみ] を選択した場合: DAS は SQL ステートメントに対して毎日の診断を実行し、インデックス最適化の提案を提供します。インデックスはインスタンスに作成されません。
[SQL 診断とインデックスの自動作成] を選択した場合: DAS は SQL ステートメントに対して毎日の診断を実行し、インデックス最適化の提案を提供し、インスタンスにインデックスを作成します。
説明DAS は、データベースインスタンスの [メンテナンス期間] 中にインデックスを作成します。
[OK] をクリックします。
(オプション) アラートテンプレートを設定し、アラートをサブスクライブして、データベースインスタンスの自動 SQL 最適化ステータスに関する情報を常に入手します。
DAS はアラートテンプレートを推奨し、対応する自律イベントのアラートルールを追加します。画面の指示に従って設定を完了します。
説明インスタンスのアラートテンプレートをすでに設定している場合は、画面の指示に従って、自律イベントに必要なアラートルールをテンプレートに追加します。
アラートテンプレートとアラートルールを自分で設定する場合は、「アラートテンプレートの設定」と「アラートルールの設定」をご参照ください。
アラート通知を受信する [アラートグループ] を選択します。
新しいアラート連絡先を追加するには、[連絡先の追加] をクリックします。
新しいアラートグループを追加するには、[連絡先グループの追加] をクリックします。
連絡先を変更または削除するには、連絡先の横にある [変更] または [削除] をクリックします。
詳細については、「アラート連絡先の管理」をご参照ください。
[リンクされたインスタンス] を確認します。
[設定の送信] をクリックし、ダイアログボックスでアラート設定を確認します。
次のステップ
自律センターページで、指定した時間範囲内に発生した [最適化イベント] を表示できます。
ターゲットイベントの [詳細] をクリックします。[低速 SQL 診断 (診断最適化)] ページの [根本原因分析と提案] タブで、[問題の SQL]、[SQL 最適化]、[インデックスの推奨]、および [ステートメントの最適化] の詳細を表示します。
参考資料
ターゲット SQL ステートメントを手動で最適化する方法の詳細については、「SQL 最適化」をご参照ください。
関連 API 操作
API | 説明 |
自動 SQL 最適化機能をバッチで有効化、変更、または無効化します。 | |
DAS の自動 SQL 最適化機能によって生成された診断提案をクエリします。 | |
指定された時間範囲内の自動 SQL 最適化タスクの統計 (タスクの総数や最大のメリットなど) を取得します。 |