チューニング オプション選択のシナリオ
データベース エンジン チューニング アドバイザのさまざまなチューニング オプションを組み合わせると、SQL Server の実装に必要な推奨設定を得ることができます。次のセクションでは、さまざまなチューニング オプションの組み合わせのシナリオと、それぞれの組み合わせによって得られるチューニングの推奨設定の種類について説明します。
オプションの正しい組み合わせの選択
次の表は、dta コマンド プロンプト ユーティリティまたはデータベース エンジン チューニング アドバイザのグラフィカル ユーザー インターフェイス (GUI) を使用して選択できるさまざまなチューニング オプションの組み合わせが、データベース エンジン チューニング アドバイザによってどのように解釈されるかという例を示しています。
dta で指定する引数 |
GUI の [チューニング オプション] タブで選択する項目 |
データベース エンジン チューニング アドバイザによるこのオプションの組み合わせの解釈 |
---|---|---|
-fa IDX -fp NONE -fk ALL |
インデックス パーティション分割なし 既存の PDS をすべて保持する |
既存の物理デザイン構造をすべて推奨設定に保持します。また、推奨設定の一部として、パーティション分割されていないインデックスが提示される場合があります。 |
-fa IDX_IV -fp NONE -fk NONE |
インデックスおよびインデックス付きビュー パーティション分割なし 既存の PDS を保持しない |
パーティション分割されていないインデックスおよびインデックス付きビューのみを推奨設定に含めます。この推奨設定を実装すると、パーティション分割された既存のオブジェクトがある場合はすべて削除されます。 |
-fa IDX_IV -fp ALIGNED -fk ALIGNED |
インデックスおよびインデックス付きビュー 固定パーティション分割 固定パーティション分割を保持する |
ベース テーブルおよびビューと同じ方法でパーティション分割され、"固定された" 既存の物理デザイン構造をすべて保持します。同様に固定されている他のインデックスおよびインデックス付きビューも推奨される場合があります。この推奨設定を実装すると、データベースは "固定" 状態になります。 |
チューニング オプションの組み合わせの使用シナリオ
次の表は、ほとんどのユーザーが実際に遭遇する一般的なシナリオと、そのシナリオを有効にするチューニングの組み合わせを示しています。これらのシナリオに影響を与える要素には次のものがあります。
パフォーマンス
機能の習熟度 (インデックス付きビューを使用する快適度など)
データベースに対する追加変更
管理の容易性
旧バージョンとの互換性
移行の容易性 (MicrosoftSQL Server のバージョン間)
パフォーマンスはすべてのシナリオに共通の要素なので、次の表では要素の 1 つとしては明示しません。
#. |
シナリオの説明 |
要素 |
オブジェクトの指定 |
パーティション分割の指定 |
保持オプションの指定 |
---|---|---|---|---|---|
1 |
ユーザーは最高のパフォーマンス (新規または既存のデータベース) を望んでいますが、パーティション分割機能に慣れていません。SQL Server 2005 から SQL Server 2008 に移行するユーザーです。 |
機能の習熟度、旧バージョンとの互換性 |
インデックスおよびインデックス付きビュー |
なし |
なし |
2 |
ユーザーは新しいクエリまたはアドホック クエリのチューニングを行いますが、パーティション分割機能に慣れていません。SQL Server 2005 から SQL Server 2008 に移行するユーザーです。 |
追加変更、機能の習熟度、旧バージョンとの互換性 |
インデックスおよびインデックス付きビュー |
なし |
すべて |
3 |
ユーザーはベース テーブルのクラスタリングを変更しません。パーティション分割に慣れていません。SQL Server 2005 から SQL Server 2008 に移行するユーザーです。 |
機能の習熟度、追加変更 |
インデックスおよびインデックス付きビュー |
なし |
クラスタ化インデックス |
4 |
ユーザーはインデックスのチューニングを望んでおり、新しいクエリの小さなセットに対してインデックスの追加変更のみを望んでいます。パーティション分割に慣れていません。SQL Server Version 7.0 から SQL Server 2000 に移行するユーザーおよび、SQL Server 2000 ユーザーです。 |
追加変更 |
インデックスおよびインデックス付きビュー |
なし |
インデックス |
5 |
ユーザーはワークロード全体で最高のパフォーマンスを望んでいます (新規または既存のデータベース)。ユーザーは SQL Server システムの構成または配置を行います。SQL Server 2005 から SQL Server 2008 に移行し、パフォーマンスを向上させるためにパーティション分割を利用します。 |
- |
インデックスおよびインデックス付きビュー |
完全 |
なし |
6 |
ユーザーは新しいクエリまたはアドホック クエリの小さなセットをチューニングします。ユーザーは新しい SQL Server システムを配置します。 |
追加変更 |
インデックスおよびインデックス付きビュー |
完全 |
すべて |
7 |
ユーザーはベース テーブルのクラスタリングを変更せずに、最高のパフォーマンスを望んでいます。 |
追加変更 |
インデックスおよびインデックス付きビュー |
完全 |
クラスタ化インデックス |
8 |
ユーザーは既存のすべてのインデックスを維持する必要がありますが、インデックス ビューは必ずしも必要ではありません。パフォーマンスはできるだけ向上させます。ワークロードが変化する場合に有効です (ワークロードの変化に関して、インデックス ビューの信頼性はインデックスよりも劣ります)。 |
追加変更 |
インデックスおよびインデックス付きビュー |
完全 |
インデックス |
9 |
ユーザーは最高のパフォーマンスを望んでいますが (新規または既存のデータベース)、管理の容易性のためにパーティション分割を優先します。新しいシステムの構成または配置を行います。 |
管理の容易性 |
インデックスおよびインデックス付きビュー |
固定 |
なし |
10 |
ユーザーは管理の容易性のためにパーティション分割を優先します。新しいクエリまたはアドホック クエリの小さなセットをチューニングします。 |
追加変更、管理の容易性 |
インデックスおよびインデックス付きビュー |
固定 |
固定 |
11 |
ユーザーはベース テーブルのクラスタリングを変更しません。管理の容易性のためにパーティション分割を優先します。 |
機能の習熟度、追加変更、管理の容易性 |
インデックスおよびインデックス付きビュー |
固定 |
クラスタ化インデックス |
12 |
ユーザーはインデックスには慣れていますが、インデックス ビューまたはパーティション分割には慣れていません。ワークロード全体で最高のパフォーマンスを望んでいます。SQL Server Version 7.0 から SQL Server 2005 または、SQL Server Version 7.0 から SQL Server 2008 にアップグレードします。 |
機能の習熟度、旧バージョンとの互換性 |
インデックス |
なし |
なし |
13 |
ユーザーはインデックスには慣れていますが、インデックス ビューまたはパーティション分割には慣れていません。新しいクエリまたはアドホック クエリの小さなセットをチューニングします。SQL Server Version 7.0 から SQL Server 2005 または、SQL Server Version 7.0 から SQL Server 2008 にアップグレードします。 |
追加変更、機能の習熟度、旧バージョンとの互換性 |
インデックス |
なし |
すべて |
14 |
ユーザーはベース テーブルのクラスタリングを変更しません。パーティション分割またはインデックス ビューには慣れていません。SQL Server Version 7.0 から SQL Server 2005 または、SQL Server Version 7.0 から SQL Server 2008 にアップグレードします。 |
機能の習熟度、追加変更 |
インデックス |
なし |
クラスタ化インデックス |
15 |
ユーザーは既存のインデックスを削除せずに、現在のデータベースから既存のインデックス ビューを削除します。 |
機能の習熟度、追加変更 |
インデックス |
なし |
インデックス |
16 |
ユーザーはインデックス ビューに慣れていません。ワークロード全体で最高のパフォーマンスを望んでいます。SQL Server Version 7.0 から SQL Server 2008 にアップグレードします。 |
機能の習熟度 |
インデックス |
完全 |
なし |
17 |
ユーザーはインデックス ビューに慣れていません。新しいクエリまたはアドホック クエリの小さなセットをチューニングします。SQL Server Version 7.0 から SQL Server 2008 にアップグレードします。 |
機能の習熟度、追加変更 |
インデックス |
完全 |
すべて |
18 |
ユーザーはインデックス ビューに慣れていません。ユーザーはベース テーブルのクラスタリングを変更しません。新しいクエリまたはアドホック クエリの小さなセットをチューニングします。SQL Server Version 7.0 から SQL Server 2008 にアップグレードします。 |
機能の習熟度、追加変更 |
インデックス |
完全 |
クラスタ化インデックス |
19 |
ユーザーは既存のインデックスを削除せずに、現在のデータベースから既存のインデックス ビューを削除します。 |
機能の習熟度、追加変更 |
インデックス |
完全 |
インデックス |
20 |
ユーザーはインデックスには慣れていますが、インデックス ビューには慣れていません。管理の容易性のためにパーティション分割を優先します。ワークロード全体で最高のパフォーマンスを望んでいます。SQL Server Version 7.0 から SQL Server 2005 にアップグレードします。 |
機能の習熟度、管理の容易性 |
インデックス |
固定 |
なし |
21 |
ユーザーはインデックスには慣れていますが、インデックス ビューには慣れていません。管理の容易性のためにパーティション分割を優先します。ワークロード全体で最高のパフォーマンスを望んでいます。SQL Server Version 7.0 から SQL Server 2008 にアップグレードします。 |
機能の習熟度、管理の容易性 |
インデックス |
固定 |
固定 |
22 |
ユーザーはベース テーブルのクラスタリングを変更しません。インデックス ビューには慣れていません。管理の容易性のためにパーティション分割を優先します。SQL Server Version 7.0 から SQL Server 2005 にアップグレードします。 |
機能の習熟度、追加変更、管理の容易性 |
インデックス |
固定 |
クラスタ化インデックス |
23 |
ユーザーはクエリの小さなセットをチューニングします。新しいクラスタ化インデックスは望んでいません。インデックス ビューまたはパーティション分割には慣れていません。 |
機能の習熟度、追加変更 |
非クラスタ化インデックス |
なし |
すべて |
24 |
ユーザーは新しいクラスタ化インデックスを望んでいません。インデックス ビューまたはパーティション分割には慣れていません。 |
機能の習熟度、追加変更 |
非クラスタ化インデックス |
なし |
クラスタ化インデックス |
25 |
ユーザーはクエリの小さなセットをチューニングします。新しいクラスタ化インデックスは望んでいません。インデックス ビューには慣れていません。 |
機能の習熟度、追加変更 |
非クラスタ化インデックス |
完全 |
すべて |
26 |
ユーザーは新しいクラスタ化インデックスを望んでいません。インデックス ビューには慣れていません。非クラスタ化インデックスの全面的な再設計を検討しようとしています。 |
機能の習熟度、追加変更 |
非クラスタ化インデックス |
完全 |
クラスタ化インデックス |
27 |
ユーザーは新しいクラスタ化インデックスを望んでいません。インデックス ビューには慣れていません。最終的な物理デザインの固定が必要です。 |
機能の習熟度、追加変更、管理の容易性 |
非クラスタ化インデックス |
固定 |
固定 |
28 |
ユーザーはクエリの小さなセットをチューニングします。新しいクラスタ化インデックスは望んでいません。インデックス ビューには慣れていません。非クラスタ化インデックスが固定されている限り、再設計を検討しようとしています。 |
機能の習熟度、追加変更 |
非クラスタ化インデックス |
固定 |
クラスタ化インデックス |
29 |
ユーザーは、テーブル データのサブセットから選択するクエリのセットをチューニングします。インデックスの最高のパフォーマンスを望んでいます。 |
パフォーマンス |
フィルタ選択されたインデックス オプションを持つインデックス |
なし |
なし |
30 |
ユーザーはインデックスのチューニングを望んでおり、新しいクエリの小さなセットに対してインデックスの追加変更のみを望んでいます。SQL Server 2005 から SQL Server 2008 に移行するユーザーです。 |
追加変更 |
フィルタ選択されたインデックス オプションを持つインデックスおよびインデックス付きビュー |
なし |
インデックス |