スロー SQL クエリによってデータベースパフォーマンスが低下したり、アプリケーションの応答性に影響が出たりする場合、それらを最適化する必要があります。Database Autonomy Service (DAS) は、問題のあるクエリを特定し、最適なインデックスを推奨し、テーブルロックを引き起こすことなく自動的に作成する自動 SQL 最適化機能を提供し、最適化プロセスを効率化します。
仕組み
自動インデックス作成は、DAS の自動 SQL 最適化のコア機能です。MySQL カーネルのネイティブのオンライン DDL 機能を使用してインデックスを作成します。この方法により、従来のインデックス作成操作中に発生する可能性のあるテーブルロックを防ぎます。詳細については、「SQL 最適化技術」をご参照ください。
前提条件
データベースエンジン | リージョン |
| 中国 (杭州)、中国 (上海)、中国 (深セン)、中国 (河源)、中国 (広州)、中国 (青島)、中国 (北京)、中国 (張家口)、中国 (フフホト)、中国 (ウランチャブ)、中国 (南京-ローカルリージョン-廃止予定)、中国 (福州-ローカルリージョン-廃止予定)、中国 (成都)、中国 (鄭州)、中国 (香港)、日本 (東京)、韓国 (ソウル)、シンガポール、マレーシア (クアラルンプール)、インドネシア (ジャカルタ)、フィリピン (マニラ)、タイ (バンコク)、UAE (ドバイ)、サウジアラビア (リヤド - パートナー運営)、ドイツ (フランクフルト)、米国 (シリコンバレー)、米国 (バージニア)、およびイギリス (ロンドン) |
課金
自動 SQL 最適化機能は、Alibaba Cloud Managed Services を購読することで使用できます。料金情報については、「Alibaba Cloud Managed Services (旧 DAS Economy Edition)」をご参照ください。
制限事項
X-Engine ストレージエンジンを使用するテーブルに対する SQL クエリでは、自動 SQL 最適化はサポートされていません。
操作手順
DAS コンソールにログインします。
左側のナビゲーションウィンドウで、 をクリックします。
ターゲットインスタンスを見つけ、インスタンス ID をクリックしてインスタンス詳細ページを開きます。
左側のナビゲーションウィンドウで、自律型センター をクリックします。
自律型センター ページで、右上の Autonomy Service Settings をクリックします。

[SQL Diagnostics Only]: インデックス変更を適用せずに推奨事項を生成します。
[SQL Diagnostics and Automatic Index Creation]: 最適化の推奨事項を自動的に適用します。
説明DAS は、データベースインスタンスの [Maintenance Period] または [Maintenance Window] 内にインデックスを作成します。
[OK] をクリックします。
自動 SQL 最適化イベントのステータスに関する通知を受け取るには、[アラートテンプレート] を構成します。
システムはアラートテンプレートを推奨し、自律イベントに必要な [アラートルール] を追加します。この推奨構成を使用できます。
説明インスタンスのアラートテンプレートをすでに構成している場合は、プロンプトが表示されたときに、対応する自律イベントのアラートルールをテンプレートに追加する必要があります。
アラートテンプレートとアラートルールを構成する必要がある場合は、「アラートテンプレートを構成」および「アラートルールを構成」をご参照ください。
通知用に [アラートグループ] を選択します。
[連絡先の追加] をクリックして、新しいアラート連絡先を追加します。
[連絡先グループの作成] をクリックして、新しいアラート連絡先グループを追加します。
既存の連絡先を変更または削除するには、ターゲット連絡先の横にある [編集] または [削除] をクリックします。
詳細については、「アラート連絡先を管理」をご参照ください。
[構成を送信] をクリックし、表示されるダイアログボックスで設定を確認します。
次のステップ
Autonomy Center ページで、選択した時間範囲内の 自動 SQL 最適化 イベントを表示できます。

[詳細] をクリックします。[スロー SQL ステートメント診断 (診断と最適化)] セクションの [根本原因分析と提案] タブで、[問題のある SQL ステートメント] および [SQL ステートメントの最適化] セクションの情報を表示できます。[SQL ステートメントの最適化] セクションには、[インデックス推奨] および [ステートメント最適化] に関する詳細が記載されています。

関連ドキュメント
SQL ステートメントを手動で最適化する必要がある場合は、「SQL 最適化」をご参照ください。
よくある質問
Q: DAS による自動インデックス作成は、長期的なテーブルロックを引き起こしますか?
A: いいえ。DAS はネイティブのオンライン DDL 操作を使用してインデックスを作成するため、長期的なテーブルロックを防ぎます。
Q: DAS は、コンソールで検出されたスロー SQL クエリを最適化しないのはなぜですか?
A: すべてのスロー SQL クエリが最適化されるわけではありません。DAS は、有効な推奨事項が存在し、パフォーマンスが大幅に向上することが確認された場合にのみ最適化を適用します。クエリにすでに適切なインデックスがある場合、または潜在的なパフォーマンス向上がわずかである場合、DAS は最適化を適用しません。
関連 API
API | 説明 |
複数のデータベースインスタンスに対して、自動 SQL 最適化機能を一度に有効化、変更、または無効化します。 | |
DAS の自動 SQL 最適化機能によって生成されたクエリの最適化の提案 | |
指定された時間範囲における自動 SQL 最適化タスクに関する統計情報 (タスクの総数や最大パフォーマンス向上など) を取得します。 |