Database Autonomy Service (DAS) は、欠落しているインデックスクエリ機能を提供します。 この機能により、ApsaraDB RDS for SQL Serverインスタンスの不足しているインデックスを表示できます。
Alibaba Cloudのエキスパートチームは、長年のサービス経験をまとめ、RDSインスタンスを使用する際に、インスタンスのCPU使用率が高い、インスタンスのIOPSが高い、インスタンスのクエリステートメントのパフォーマンスが低い、インスタンスのリクエストのタイムアウトというパフォーマンスの問題が発生したことに注意してください。 チームは、90% を超える問題がインデックスの欠落が原因であることを発見しました。
DASは、RDSインスタンスで不足しているインデックスを見つけ、不足しているインデックスの作成に必要なスクリプトファイルをエクスポートするのに役立ちます。 次に、オフピーク時にこれらの欠落インデックスを作成して、前述のパフォーマンスの問題を解決できます。
前提条件
RDSインスタンスは、クラウドディスクでSQL Server 2008 R2を実行しません。
手順
- [インスタンス] ページへ移動します。 上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。 次に、RDSインスタンスを見つけ、インスタンスのIDをクリックします。
左側のナビゲーションウィンドウで、
を選択します。[不足しているインデックス] タブをクリックし、[不足しているインデックスの詳細] セクションでフィルター条件を選択し、[スクリプトのエクスポート] をクリックします。
エクスポートされたスクリプトファイルで提供されているSQL文を実行し、オフピーク時にRDSインスタンスのテーブルのインデックスを作成します。
[不足しているインデックス] タブの概要
不足しているインデックスの概要: このセクションでは、RDSインスタンスの不足しているインデックスの概要を説明します。 次の表に、不足しているインデックスの概要セクションのパラメーターを示します。
表 1 不足しているインデックスの概要セクションのパラメーター パラメーター
説明
インデックスがありません
RDSインスタンスに作成されたすべてのテーブルの欠落しているインデックスの合計数と、インスタンスのパフォーマンスを80% 以上向上させるインデックスの数。
過去1日にアクセスされたインデックスが不足している
過去1日以内にRDSインスタンスに作成されたすべてのテーブルのアクセスされた欠落インデックスの数、およびすべての欠落インデックスにおけるアクセスされた欠落インデックスの割合。
過去7日間にアクセスされなかったインデックス
過去7日間にRDSインスタンスに作成されたすべてのテーブルのアクセスされた欠落インデックスの数、およびすべての欠落インデックスにおけるアクセスされた欠落インデックスの割合。
過去30日間にアクセスされなかったインデックス
過去30日以内にRDSインスタンスに作成されたすべてのテーブルのアクセスされた欠落インデックスの数、およびすべての欠落インデックスにおけるアクセスされた欠落インデックスの割合。
データ更新日時
RDSインスタンスの欠落インデックス統計が生成された時刻。
リコレクト
インデックスの使用統計が古い場合は、[再収集] をクリックします。 表示されるメッセージで、[OK] をクリックします。 RDSインスタンスのインデックス使用統計の収集が再開されます。
説明数分後、[パフォーマンス最適化] ページを更新して、更新されたインデックス使用統計を表示できます。
PDFファイルとして保存
パフォーマンス統計をコンピューターにファイルとして保存する場合は、[PDFファイルとして保存] をクリックします。
不足しているインデックス情報のグラフ: このセクションでは、RDSインスタンスの不足しているインデックスの傾向と、不足しているインデックスによって引き起こされるパフォーマンスの改善とリソース消費の削減の傾向を表示します。 これらの傾向はチャートに表示されます。 次の表に、不足しているインデックス情報のグラフセクションのパラメーターを示します。
表 2. [不足しているインデックス情報のグラフ] セクションのパラメーター パラメーター
説明
インデックスの変更がありません
過去24時間以内のRDSインスタンスの欠落インデックスの傾向。
最後のユーザーシーク時間
過去1日間、過去7日間、過去14日間、および過去30日間に、ユーザーがRDSインスタンスで検索した不足しているインデックスの数。
クエリコストの平均削減
RDSインスタンスにインデックスがないことによって発生する平均クエリCPUオーバーヘッド。
クエリのパフォーマンス改善
RDSインスタンスのインデックスが不足していることによるパフォーマンスの向上。
不足しているインデックスの詳細: このセクションでは、RDSインスタンスの不足しているすべてのインデックスの詳細がテーブルに表示されます。 次の表に、不足しているインデックスの詳細セクションのパラメーターを示します。
表 3. 不足しているインデックスの詳細セクションのパラメーター パラメーター
説明
テーブル名
インデックスが作成されるテーブルの名前。 このパラメータの値は、次の部分で構成されます。
データベース名
スキーマ名
オブジェクト名
トータルストレージ
テーブルに割り当てられているストレージ。
記録
テーブルにインデックスがないレコードの数。
総ページ数
テーブル内のページ数。
インデックス
テーブルに作成されるインデックスの数。
等しい操作に含まれるインデックス列
テーブルの列にインデックスがないため、同等のクエリに使用される列。
等しくない操作に含まれるインデックス列
テーブルの列にインデックスがないため、非等価クエリに使用される列。
インデックスキー列
テーブルにインデックスがない列。
ユーザーが実行するシーク
テーブル内の不足しているインデックスに対して実行される検索操作の数。
ユーザーが実行するスキャン
テーブルに対して実行されるスキャン操作の数。
平均コスト削減
不足しているインデックスが作成された後のテーブルの推定平均CPUオーバーヘッド削減。 CPUオーバーヘッドの削減はパーセンテージで計算されます。
パフォーマンス改善 (%)
不足しているインデックスが作成された後のテーブルの平均クエリパフォーマンスの改善。
最後のユーザーシーク時間
ユーザーがテーブルで不足しているインデックスを検索した最新の時点。
インデックス作成ステートメント
テーブルに不足しているインデックスを作成するために使用されるステートメント。
エクスポートスクリプト
不足しているインデックスの作成に使用されるステートメントをエクスポートするために使用されるボタン。 適切な時間を選択して、RDSインスタンスでステートメントを実行し、不足しているインデックスを作成できます。
ファイルのエクスポート
不足しているインデックスに関する詳細をExcel、CSV、またはTXTファイルにエクスポートするために使用されるボタン。