データベースインスタンスでスロー SQL クエリが発生した場合、または実行される SQL 文がアプリケーションのパフォーマンスに影響を与える場合は、SQL 文を最適化できます。Database Autonomy Service (DAS) は、自動 SQL 最適化機能を提供します。この機能は、スロー SQL クエリを自動的に診断し、インデックスの最適化候補を生成し、テーブルロックなしでインデックスを作成できます。
メリット
自動インデックス作成は、自動 SQL 最適化機能に基づいており、ネイティブ MySQL カーネルでサポートされているオンライン DDL 文を使用して実装されます。これにより、従来のインデックス作成で発生する可能性のあるテーブルロックの問題を防ぎます。詳細については、「SQL 最適化テクノロジー」をご参照ください。
制限事項
自動 SQL 最適化機能は、X-Engine を使用するテーブルに対する SQL クエリではサポートされていません。
手順
DAS コンソール にログインします。
左側のナビゲーションウィンドウで、インスタンスモニター をクリックします。
表示されたページで、管理するデータベースインスタンスを見つけ、インスタンス ID をクリックします。インスタンスの詳細ページが表示されます。
インスタンスの詳細ページで、左側のナビゲーションウィンドウの 自律型センター をクリックします。
自律型センター タブで、右上隅にある Autonomy Service Settings をクリックします。
[自律機能管理] パネルの [最適化と調整][自動インデックス作成と削除] タブで、自律サービスを有効にします。 タブで、 を選択します。次に、次のオプションのいずれかを選択できます。
[OK] をクリックします。
[アラート設定] セクションで、アラートテンプレートを設定し、アラート通知をサブスクライブします。これは、自動 SQL 最適化イベントのステータスをできるだけ早く把握するのに役立ちます。
システムはアラートテンプレートを推奨し、アラートテンプレートに必要な自律イベントのアラートルールを追加します。プロンプトに従ってアラートテンプレートを設定できます。
[アラート連絡グループの選択] ステップで、アラート連絡グループを選択します。次の操作を実行できます。
[連絡先の追加] をクリックして、アラート連絡先を追加します。
[連絡グループの作成] をクリックして、アラート連絡グループを作成します。
管理するアラート連絡先を見つけ、[アクション] 列の [編集] または [削除] をクリックして、アラート連絡先の情報を変更するか、アラート連絡先を削除します。
詳細については、「アラート連絡先を管理する」をご参照ください。
[設定の送信] をクリックします。表示されるメッセージで設定を確認し、[OK] をクリックします。
次のステップ
Autonomy Center ページで、特定の期間内に発生した最適化イベントを表示できます。
[スロー SQL 文診断 (診断と最適化)] セクションの右側にある [詳細] をクリックします。次に、[根本原因分析と提案] タブで、[問題のある SQL 文]、[SQL 文の最適化]、[インデックスの推奨]、および [文の最適化] セクションの情報を確認します。
関連情報
SQL 文を手動で最適化する方法の詳細については、「SQL 最適化」をご参照ください。
FAQ
DAS がテーブルのインデックスを自動的に作成するときに、テーブルは長時間ロックされますか?
いいえ。DAS は、ネイティブのオンライン DDL 操作を実行することでインデックスを作成します。これにより、テーブルが長時間ロックされるのを防ぐことができます。
DAS は、コンソールで検出されたスロー SQL クエリを最適化しないのはなぜですか?コンソールで検出された低速の SQL クエリを DAS は最適化しますか?
DAS は、コンソールで検出されたすべてのスロー SQL クエリを最適化するわけではありません。最適化は、DAS が現在の SQL クエリに対して最適化候補が利用可能であり、これらの最適化によってクエリのパフォーマンスが大幅に向上することを確認した場合にのみ実行されます。現在の SQL クエリにインデックスが既に存在する場合、または最適化によるパフォーマンスの向上がわずかである場合、DAS は最適化をスキップします。