データベースインスタンスでスロー SQL クエリが発生した場合、または実行される SQL 文がアプリケーションのパフォーマンスに影響を与える場合は、SQL 文を最適化できます。Database Autonomy Service (DAS) は、自動 SQL 最適化機能を提供します。この機能は、スロー SQL クエリを自動的に診断し、インデックスの最適化候補を生成し、テーブルロックなしでインデックスを作成できます。
メリット
自動インデックス作成は、自動 SQL 最適化機能に基づいており、ネイティブ MySQL カーネルでサポートされているオンライン DDL 文を使用して実装されます。これにより、従来のインデックス作成で発生する可能性のあるテーブルロックの問題を防ぎます。詳細については、「SQL 最適化テクノロジー」をご参照ください。
前提条件
管理するデータベースインスタンスは、次の表に示すいずれかの種類です。
データベースの種類
リージョン
ApsaraDB RDS for MySQL High-availability Edition、Enterprise Edition、または Cluster Edition
PolarDB for MySQL Cluster Edition
説明PolarDB for MySQL Cluster Edition (1 ノード) はサポートされていません。
ApsaraDB MyBase for MySQL High-availability Edition
中国 (杭州), 中国 (上海), 中国 (深圳), 中国 (河源), 中国 (広州), 中国 (青島), 中国 (北京), 中国 (張家口), 中国 (フフホト), 中国 (ウランチャブ), 中国 (南京 - ローカルリージョン), 中国 (福州 - ローカルリージョン), 中国 (成都), 中国 (鄭州 - ローカルリージョン), 中国 (香港), 日本 (東京), 韓国 (ソウル), シンガポール, マレーシア (クアラルンプール), インドネシア (ジャカルタ), フィリピン (マニラ), タイ (バンコク), UAE (ドバイ), SAU (リヤド - パートナーリージョン), ドイツ (フランクフルト), 米国 (シリコンバレー), 米国 (バージニア), 英国 (ロンドン)
[SQL Explorer] がデータベースインスタンスで有効になっています。詳細については、「SQL Explorer」をご参照ください。
説明SQL Explorer が有効になると、システムは最適化された SQL 文と関連する SQL 文のパフォーマンスを追跡します。パフォーマンスが低下した場合、システムは作成されたインデックスが他の SQL 文のパフォーマンスに影響を与えないように、最適化された SQL 文を自動的にロールバックします。 SQL Explorer が無効になっている場合、システムは最適化された SQL 文のパフォーマンスのみを追跡します。そのため、より包括的なパフォーマンス最適化効果を得るには、SQL Explorer を有効にすることをお勧めします。
重要SQL Explorer が有効になると、システムは完全な SQL 文と実行情報を記録するため、ストレージのオーバーヘッドが増加する可能性があります。ビジネス要件に基づいてストレージ期間を設定することをお勧めします。詳細については、「SQL Explorer と Audit」の「SQL Explorer と Audit によって生成されたデータの保存期間を変更する」セクションをご参照ください。
制限事項
自動 SQL 最適化機能は、X-Engine を使用するテーブルに対する SQL クエリではサポートされていません。
手順
DAS コンソール にログインします。
左側のナビゲーションウィンドウで、インスタンスモニター をクリックします。
表示されたページで、管理するデータベースインスタンスを見つけ、インスタンス ID をクリックします。インスタンスの詳細ページが表示されます。
インスタンスの詳細ページで、左側のナビゲーションウィンドウの 自律型センター をクリックします。
自律型センター タブで、右上隅にある Autonomy Service Settings をクリックします。
[自律機能管理] パネルの [最適化と調整][自動インデックス作成と削除] タブで、自律サービスを有効にします。 タブで、 を選択します。次に、次のオプションのいずれかを選択できます。
[SQL 診断のみ]: DAS はインデックスの最適化候補を提供するだけで、インデックスは変更しません。
[SQL 診断とインデックスの自動作成]: DAS は、インデックスの最適化候補に基づいてインデックスを自動的に作成します。
説明DAS は、データベースインスタンスのメンテナンスウィンドウ内にインデックスを作成します。
[OK] をクリックします。
[アラート設定] セクションで、アラートテンプレートを設定し、アラート通知をサブスクライブします。これは、自動 SQL 最適化イベントのステータスをできるだけ早く把握するのに役立ちます。
システムはアラートテンプレートを推奨し、アラートテンプレートに必要な自律イベントのアラートルールを追加します。プロンプトに従ってアラートテンプレートを設定できます。
説明データベースインスタンスのアラートテンプレートを設定済みの場合は、プロンプトに従って、必要な自律イベントのアラートルールをアラートテンプレートに追加する必要があります。
データベースインスタンスのアラートテンプレートとアラートルールを設定する必要がある場合は、「アラートテンプレートを設定する」および「アラートルールを設定する」の手順に従ってください。
[アラート連絡グループの選択] ステップで、アラート連絡グループを選択します。次の操作を実行できます。
[連絡先の追加] をクリックして、アラート連絡先を追加します。
[連絡グループの作成] をクリックして、アラート連絡グループを作成します。
管理するアラート連絡先を見つけ、[アクション] 列の [編集] または [削除] をクリックして、アラート連絡先の情報を変更するか、アラート連絡先を削除します。
詳細については、「アラート連絡先を管理する」をご参照ください。
[設定の送信] をクリックします。表示されるメッセージで設定を確認し、[OK] をクリックします。
次のステップ
Autonomy Center ページで、特定の期間内に発生した最適化イベントを表示できます。
[スロー SQL 文診断 (診断と最適化)] セクションの右側にある [詳細] をクリックします。次に、[根本原因分析と提案] タブで、[問題のある SQL 文]、[SQL 文の最適化]、[インデックスの推奨]、および [文の最適化] セクションの情報を確認します。
関連情報
SQL 文を手動で最適化する方法の詳細については、「SQL 最適化」をご参照ください。
FAQ
関連 API 操作
操作 | 説明 |
複数のデータベースインスタンスに対して、自動 SQL 最適化機能を一度に有効化、変更、または無効化します。 | |
DAS の SQL 診断機能によって生成された SQL 最適化候補をクエリします。 | |
一定期間内の自動 SQL 最適化イベントの統計 (最適化イベントの総数、最大改善率など) をクエリします。 |