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

ApsaraDB RDS:自動SQL最適化機能の使用

最終更新日:Sep 23, 2024

ApsaraDB RDS for MySQLインスタンスで低速のSQLクエリが発生した場合、または実行されたSQL文がアプリケーションのパフォーマンスに影響する場合は、SQL文を最適化できます。 Database Autonomy Service (DAS) は、自動SQL最適化機能を提供します。 この機能は、低速SQLクエリを自動的に診断し、インデックス最適化の提案を生成し、テーブルロックなしでインデックスを作成できます。

前提条件

RDSインスタンスは、次のMySQLバージョンとRDSエディションのいずれかを実行します。

  • RDS High-availability Edition、RDS Enterprise EditionRDS Cluster EditionのMySQL 8.0

  • RDS High-availability Edition、RDS Enterprise EditionRDS Cluster EditionのMySQL 5.7

  • RDS High-availability EditionのMySQL 5.6

  • RDS High-availability EditionのMySQL 5.5

説明

低速SQLクエリが最適化されると、RDSインスタンスの全体的なパフォーマンスが低下する可能性があります。 自動SQL最適化機能が異常なSQLクエリのみを最適化するようにするには、SQLエクスプローラーと監査機能を有効にすることを推奨します。 詳細については、「SQLエクスプローラーと監査機能の使用」をご参照ください。

説明

DASは、ネイティブMySQLカーネルでサポートされているオンラインDDLステートメントを使用して、インデックスを自動的に作成します。 これにより、通常のインデックスの作成によって引き起こされる可能性のあるテーブルロックが防止されます。 詳細については、「SQL最適化テクノロジ」をご参照ください。

制限事項

自動SQL最適化機能は、X-Engineを使用するテーブルを含むSQLクエリではサポートされません。

手順

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

  2. 次のいずれかの方法を使用して、Autonomous Function Managementパネルに移動します。

    • 左側のナビゲーションウィンドウで、[Autonomy Services] > [診断] を選択します。 表示されるページで、[自律センター] タブをクリックします。 [Autonomy Center] タブで、[Autonomy Service Settings] をクリックします。

    • 左側のナビゲーションウィンドウで、[Autonomy Services] > [ダッシュボード] を選択します。 表示されるページで、[Autonomy Service Settings] をクリックします。

  3. 自律関数の設定タブで、自律サービスを有効にし、自動インデックスの作成と削除上の最適化とスロットリングタブをクリックします。

    • SQL診断のみ: DASはSQL文の診断を毎日実行し、インデックス最適化の提案を提供します。 ただし、DASはRDSインスタンスにインデックスを作成しません。

    • SQL診断と自動インデックス作成: DASは、SQL文に対して毎日診断を実行し、インデックス最適化の提案を提供し、その提案に基づいてRDSインスタンスにインデックスを作成します。

      説明

      DASは、RDSインスタンスに指定したメンテナンス期間内にインデックスを作成します。

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

  5. オプションです。 [アラート設定] セクションで、アラートテンプレートを設定し、アラート通知をサブスクライブします。 これにより、自動SQL最適化タスクのステータスをできるだけ早く把握することができます。

    システムはアラートテンプレートを推奨し、アラートテンプレートに必要な自律性イベントのアラートルールを追加します。 プロンプトに従ってアラートテンプレートを設定できます。

    説明
    • RDSインスタンスにアラートテンプレートを設定した場合は、プロンプトに従って、必要な自律性イベントのアラートルールをアラートテンプレートに追加する必要があります。

    • RDSインスタンスにアラートテンプレートを設定していないが、設定する場合は、「アラートテンプレートの設定」および「アラートルールの設定」の手順に従って、アラートテンプレートを設定できます。

    1. [アラート送信先グループの選択] ステップで、[アラート送信先グループ] を選択します。

      • [連絡先の追加] をクリックしてアラート連絡先を追加します。

      • [連絡先グループの作成] をクリックして、アラート連絡先グループを作成します。

      • 管理するアラート連絡先を見つけ、[操作] 列の [編集] または [削除] をクリックして、アラート連絡先に関する情報を変更または削除します。

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

    2. [リソースに関連付ける] ステップで、関連するリソースを確認します。

    3. [設定の送信] をクリックします。 表示されるダイアログボックスで、設定を確認します。

次のステップ

[Autonomy Center] タブで、指定した時間範囲内に発生した最適化イベントを表示します。

表示するイベントを見つけて、[詳細] をクリックします。 [遅いSQLステートメントの診断 (診断と最適化)] イベントの [根本原因分析と提案] タブで、[問題のあるSQLステートメント][SQLステートメントの最適化][インデックスの推奨][ステートメントの最適化] に関する情報を表示します。ss

関連ドキュメント

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

関連する API 操作

API 操作

説明

UpdateAutoSqlOptimizeStatus

一度に複数のデータベースインスタンスの自動SQL最適化機能を有効、変更、または無効にします。

GetSqlOptimizeAdvice

DASのSQL診断機能によって生成されるSQL最適化の提案を照会します。

GetInstanceSqlOptimizeStatistic

最適化イベントの総数や最大の改善など、一定期間内の自動SQL最適化イベントの統計を照会します。