低速または非効率な SQL クエリがアプリケーションのパフォーマンスに影響を与える場合、これらを最適化する必要があります。Database Autonomy Service (DAS) は自動 SQL 最適化をサポートしています。問題のあるクエリを自動的に識別し、インデックスの推奨事項を生成し、テーブルロックを発生させることなくインデックスを作成することで、従来の最適化手法よりも効率的な代替手段を提供します。
仕組み
MySQL カーネルのネイティブなオンライン DDL (データ定義言語) 機能を使用します。このプロセスにより、従来のインデックス作成方法で発生する可能性のある長時間のテーブルロックを防ぎます。詳細については、「SQL 最適化技術」をご参照ください。
前提条件
|
データベース |
リージョン |
|
China (Hangzhou)、China (Shanghai)、China (Shenzhen)、China (Heyuan)、China (Guangzhou)、China (Qingdao)、China (Beijing)、China (Zhangjiakou)、China (Hohhot)、China (Ulanqab)、China (Nanjing - Local Region - Being Discontinued)、China (Fuzhou - Local Region - Being Discontinued)、China (Chengdu)、China (Zhengzhou)、China (Hong Kong)、Japan (Tokyo)、South Korea (Seoul)、Singapore、Malaysia (Kuala Lumpur)、Indonesia (Jakarta)、Philippines (Manila)、Thailand (Bangkok)、UAE (Dubai)、Saudi Arabia (Riyadh)、Germany (Frankfurt)、US (Silicon Valley)、US (Virginia)、UK (London) |
課金
DAS O&M サービスをサブスクライブすると、自動 SQL 最適化機能を使用できます。 DAS O&M サービスの料金については、「O&M サービス (旧エコノミー版)」をご参照ください。
制限事項
DAS は、X-Engine を使用するテーブルの SQL クエリの診断と最適化をサポートしていません。
操作手順
にログインします。DASコンソール.
左側のナビゲーションウィンドウで、インスタンスモニター.
表示されるページで、管理するデータベースインスタンスを見つけ、インスタンスIDをクリックします。 インスタンス詳細ページが表示されます。
インスタンスの詳細ページで、自律型センター左側のナビゲーションウィンドウに表示されます。
On the自律型センタータブをクリックします。Autonomy Service Settings右上隅にあります。
-
タブで自律機能スイッチをオンにします。次に、[最適化とスロットリング] タブで、[自動インデックス作成および削除] を選択します。
-
[SQL 診断のみ]: DAS は推奨事項のみを提供し、インデックスの作成や変更は行いません。
-
[SQL 診断と自動インデックス作成]: DAS は最適化の推奨事項を自動的に実装します。
説明DAS は、データベースインスタンスの [メンテナンスウィンドウ] または [メンテナンスウィンドウ] 内にインデックスを作成します。
-
-
[決定] をクリックします。
-
自動 SQL 最適化イベントに関する通知を受信するには、[アラートテンプレート] を設定します。
システムはアラートテンプレートを推奨し、対応する自律イベントのアラートルールを追加します。画面の指示に従って設定を完了できます。
説明-
インスタンスに対してすでにアラートテンプレートを設定している場合は、画面の指示に従って、関連する自律イベントのアラートルールを既存のテンプレートに追加してください。
-
アラートテンプレートとアラートルールを手動で設定する必要がある場合は、「アラートテンプレートを設定する」および「アラートルールを設定する」をご参照ください。
-
-
通知用の [Alert Contact Groups] を選択します。
-
[連絡先の追加] をクリックして、新しいアラート連絡先を追加します。
-
[連絡先グループの作成] をクリックして、新しいアラート連絡先グループを追加します。
-
既存の連絡先を変更または削除するには、対象の連絡先の横にある [変更] または [削除] をクリックします。
詳細については、「アラート連絡先を管理する」をご参照ください。
-
-
[設定の送信] をクリックし、表示されるダイアログボックスでアラート設定を確認します。
次のステップ
-
[自律センター] ページで、指定した時間範囲の [自動 SQL 最適化] イベントを表示します。 次に、フィルターバーで [最適化イベント] を選択し、以下のイベントリストで [低速 SQL 診断 (診断最適化)] イベントを探します。
-
[詳細] をクリックします。[低速 SQL 診断 (診断最適化)] パネルの [根本原因の分析と提案] タブで、[問題のある SQL 文] および [SQL Optimization] セクションの情報を表示できます。SQL 最適化 セクションには、[インデックスの推奨事項] および [文の最適化] の詳細が記載されています。
関連ドキュメント
ターゲット SQL ステートメントを手動で最適化するには、「SQL 最適化」をご参照ください。
よくある質問
-
Q: DAS による自動インデックス作成は、長時間のテーブルロックを引き起こしますか?
A: いいえ。DAS はネイティブなオンライン DDL 操作を使用してインデックスを作成します。この方法により、長時間のテーブルロックを防ぐことができます。
-
Q: コンソールで検出された低速 SQL クエリを DAS が最適化しないのはなぜですか?
A: すべての低速ログエントリが最適化されるわけではありません。DAS は、現在の SQL ステートメントに対して推奨事項があり、かつ最適化を適用することでパフォーマンスが大幅に向上すると確認できた場合にのみ、最適化を実行します。SQL ステートメントにすでに適切なインデックスがある場合、または潜在的なパフォーマンス向上が僅かである場合、DAS は最適化を実行しません。
関連 API
|
API |
説明 |
|
複数のインスタンスの自動 SQL 最適化機能を有効化、変更、または無効化します。 |
|
|
DAS の自動 SQL 最適化機能によって生成された診断による推奨事項を照会します。 |
|
|
指定した期間内の自動 SQL 最適化タスクの統計 (タスクの総数や最大のパフォーマンス向上など) を照会します。 |