データベース エンジン チューニング アドバイザを使用した調査分析

データベース管理者はデータベース エンジン チューニング アドバイザを使用して調査分析を実行できます。調査分析では、手動のチューニングとツール支援のチューニングを組み合わせて使用します。データベース エンジン チューニング アドバイザを使用して調査分析を実行するには、ユーザー指定の構成機能を使用します。ユーザー指定の構成機能では、インデックス、インデックス付きビュー、パーティションなど、既存または仮定の物理デザイン構造をチューニング構成用に指定できます。仮定の構造を指定できるので、最初に構造を実装することによるオーバーヘッドを発生させずに、データベースへの影響を評価できます。

調査分析は、データベース エンジン チューニング アドバイザ GUI (グラフィカル ユーザー インターフェイス) および dta コマンド ライン ユーティリティの両方でサポートされますが、XML 入力ファイルを使用できる dta の方が柔軟性に優れています。この XML 入力ファイルでは、データベース エンジン チューニング アドバイザの XML スキーマを使用します。このスキーマは、「Database Engine Tuning Advisor Schema」からダウンロードできます。

この URL に移動したら、"Database Engine Tuning Advisor Schema" へのリンクが表示されるまで表を下にスクロールします。このスキーマの URL はスキーマ名の隣の列に記載されています。この XML スキーマでは、単独で評価する仮定の構成、または現在の構成と比較して評価する仮定の構成を分析用に指定できます。一方、データベース エンジン チューニング アドバイザ GUI で完全にサポートされるのは、このユーティリティで生成された推奨設定に従った構造のサブセットの評価のみです。

調査分析の 2 つのモード

データベース エンジン チューニング アドバイザは、次の 2 つのモードのいずれかで調査分析を実行できます。

  • 評価モード

    評価モードでは、同一のワークロードに対する、現在の構成 (C) とユーザー指定の構成 (U) のコストが比較されます。C は現在データベースに存在している物理デザイン構造からできているので、常に実際の構成になります。一方、U は実際と仮定の物理デザイン構造からできている構成です。U のコストが C のコストよりも低いと報告された場合、U の物理デザイン構造の方が、C よりもパフォーマンスが高い可能性があります。

    評価モードは次のような状況に適しています。

    • 管理者が、非クラスタ化インデックスをテーブルに追加したときのパフォーマンスに及ぼす影響を調査する場合。

    • 管理者がデータベース エンジン チューニング アドバイザを使用したデータベースのチューニングを完了し、推奨設定 (R) が報告された直後。管理者は、R を確認したら、R を変更して微調整します。たとえば、管理者が非クラスタ化インデックスを 2 つ追加し、R の一部であった非クラスタ化インデックスを 1 つ削除するとします。R を変更した後、変更後の推奨設定をデータベース エンジン チューニング アドバイザへの入力として使用し、変更によるパフォーマンスへの影響を測定するために再度チューニングを行います。

  • チューニング モード

    チューニング モードでは、データベースの物理デザインの一部が確定済みであることをデータベース管理者が既に知っている場合に、その他の部分の最適な物理デザイン構造を推奨設定として通知します。

    チューニング モードは次のような状況に適しています。

    • ファクト テーブルが大きすぎるのでパーティション分割する必要があることをデータベース管理者が知っている場合。管理者はパーティションの単位を月ごとにするか四半期ごとにするかを選択する必要があります。どちらの分割方法でもテーブルは機能しますが、特定のワークロードに対するパフォーマンスがより高い分割方法を選択する必要があります。どちらの分割方法が最適であるかを判断するには、データベース エンジン チューニング アドバイザを使用してワークロードを 2 回チューニングします。まず、テーブルを仮に月ごとのパーティションに分割したユーザー指定の構成でワークロードをチューニングします。次に、テーブルを仮に四半期ごとのパーティションに分割してワークロードをチューニングします。2 つの仮定の構成でワークロードをチューニングした後、向上率を比較して、パフォーマンスが高くなるのはどちらの分割方法であるかを判断します。

    • Orders テーブルの ship_date 列にクラスタ化インデックスが必要な場合。Orders テーブルの非クラスタ化インデックスの最適なセットをデータベース管理者が判断するとします。Orders テーブルの ship_date 列にクラスタ化インデックスがあるユーザー指定の構成を指定することで、データベースの物理的なデザインを部分的に固定できます。その後、データベース エンジン チューニング アドバイザをチューニング モードで使用して、ユーザー指定の構成のパフォーマンスへの影響を判断できます。

特定のワークロードに対する 2 種類の構成の比較ついて

一般的なシナリオとして、特定のワークロードに対して 2 つの異なる構成を比較します。たとえば、データベース エンジン チューニング アドバイザによってある構成が推奨され、管理者がそれとわずかに異なる構成を使用した場合の影響を確認するとします。同一のワークロードを使用した元の構成と新しい構成を比較するには、GUI ではなく dta コマンド ライン ユーティリティを使用することが重要です。コマンド ライン ユーティリティを使用すると、データベース エンジン チューニング アドバイザでチューニングする必要のあるワークロード イベントの数を (-n オプションで) 指定できます。それぞれの構成でチューニングするイベントの数を同一にすると、2 つのチューニング セッションが等価になり、比較可能になります。データベース エンジン チューニング アドバイザで指定時間内にワークロード全体をチューニングできないことがあるので、この指定は重要です。詳細については、「dta ユーティリティ」および「dta ユーティリティを使用してデータベースをチューニングする方法」を参照してください。

ユーザー指定の構成を使用する場合の考慮事項

次のことを考慮してください。

  • ユーザー指定の構成の要素にできる物理的なデザイン オブジェクトは、インデックス、インデックス付きビュー、インデックスとインデックス付きビューのパーティション、および統計です。

  • データベース エンジン チューニング アドバイザの GUI を使用して、ユーザー指定の構成をチューニング セッションにインポートできます。構成をインポートするには、[ファイル] メニューの [セッション定義のインポート] をクリックします。

  • 推奨設定の 1 つからインデックスのサブセットを選択し、選択したサブセットで評価のための新しいセッションを起動する場合もデータベース エンジン チューニング アドバイザの GUI を使用できます。

ユーザー指定の構成の制限

ユーザー指定の構成には、次に示す制限があります。

  • 構成の仕様は、データベース エンジン チューニング アドバイザの XML スキーマ DTAschema.xsd に準拠する必要があります。このスキーマ ファイルは、Microsoft Web サイトにあります。

  • 構成で、既に存在するインデックスやインデックス付きビューをデータベースに追加するように指定しないでください。

  • インデックスを作成できないビューを構成に含めないでください。

  • 構成で、存在しないインデックスや制約 (一意制約や主キー制約など) を適用しているインデックスを削除しようとしないでください。

  • 構成で同じインデックスの作成と削除を行うことはできません。たとえば、テーブル T にインデックス I を作成し、その後にそれを削除することはできません。同様に、その逆の操作 (テーブル T のインデックス I を削除し、その後で再び作成) もできません。