すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:自動 SQL 最適化

最終更新日:Nov 09, 2025

実行が遅い 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 ステートメントの診断または最適化をサポートしていません。

手順

  1. インスタンスページに移動します。上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。次に、RDS インスタンスを見つけて、インスタンスの ID をクリックします。

  2. 左側のナビゲーションウィンドウで、[自律サービス] > [クイック診断] > [自律センター] を選択します。[自律センター] ページで、[自律サービススイッチ] をクリックします。

  3. [自律サービス設定] タブで、自律サービスのスイッチをオンにします。次に、[最適化とスロットリング] タブで、[インデックスの自動作成と削除] を選択します。

    • [SQL 診断のみ] を選択した場合: DAS は SQL ステートメントに対して毎日の診断を実行し、インデックス最適化の提案を提供します。インデックスはインスタンスに作成されません。

    • [SQL 診断とインデックスの自動作成] を選択した場合: DAS は SQL ステートメントに対して毎日の診断を実行し、インデックス最適化の提案を提供し、インスタンスにインデックスを作成します。

      説明

      DAS は、データベースインスタンスの [メンテナンス期間] 中にインデックスを作成します。

  4. [OK] をクリックします。

  5. (オプション) アラートテンプレートを設定し、アラートをサブスクライブして、データベースインスタンスの自動 SQL 最適化ステータスに関する情報を常に入手します。

    DAS はアラートテンプレートを推奨し、対応する自律イベントのアラートルールを追加します。画面の指示に従って設定を完了します。

    説明
    • インスタンスのアラートテンプレートをすでに設定している場合は、画面の指示に従って、自律イベントに必要なアラートルールをテンプレートに追加します。

    • アラートテンプレートとアラートルールを自分で設定する場合は、「アラートテンプレートの設定」と「アラートルールの設定」をご参照ください。

    1. アラート通知を受信する [アラートグループ] を選択します。

      • 新しいアラート連絡先を追加するには、[連絡先の追加] をクリックします。

      • 新しいアラートグループを追加するには、[連絡先グループの追加] をクリックします。

      • 連絡先を変更または削除するには、連絡先の横にある [変更] または [削除] をクリックします。

      詳細については、「アラート連絡先の管理」をご参照ください。

    2. [リンクされたインスタンス] を確認します。

    3. [設定の送信] をクリックし、ダイアログボックスでアラート設定を確認します。

次のステップ

自律センターページで、指定した時間範囲内に発生した [最適化イベント] を表示できます。

ターゲットイベントの [詳細] をクリックします。[低速 SQL 診断 (診断最適化)] ページの [根本原因分析と提案] タブで、[問題の SQL][SQL 最適化][インデックスの推奨]、および [ステートメントの最適化] の詳細を表示します。ss

参考資料

ターゲット SQL ステートメントを手動で最適化する方法の詳細については、「SQL 最適化」をご参照ください。

関連 API 操作

API

説明

UpdateAutoSqlOptimizeStatus

自動 SQL 最適化機能をバッチで有効化、変更、または無効化します。

GetSqlOptimizeAdvice

DAS の自動 SQL 最適化機能によって生成された診断提案をクエリします。

GetInstanceSqlOptimizeStatistic

指定された時間範囲内の自動 SQL 最適化タスクの統計 (タスクの総数や最大のメリットなど) を取得します。