作成して使用することで、結果を事前に算出でき、クエリの実行速度を向上することができます。作成する必要があります。テーブル内の列数が増大し、使用される可能性のある関数が増えると、この手法を維持することが難しくなり、必要なクエリをすべて扱うことが容易ではなくなります。このオーバーヘッドが、ユーザーに大きな影響を及ぼす可能性があります。インデックスを使用することで、他のソリューションのオーバーヘッドを減らすことができます。インデクスを使用するとクエリの計算速度が向上するため、事前計算が不要になります。テクノロジの特徴は、次のとおりです。つの列としてグループ化され、格納されます。レイアウトを利用でき、クエリの実行回数を大幅に改善することができます。インデックスの次の特徴によって、結果をより高速に生成できます。必要な列のみを読み取ります。キャッシュに送られるデータも減ります。列が効率的に圧縮されます。これにより、読み取りや移動の必要があるデータの量が減ります。ほとんどのクエリでは、テーブルの一部の列のみを操作します。そのため、メモリに移動されない列が多数あります。プールの使用率が改善され、全体の入出力が減少します。インデックスには適用されません。インデックスには、クラスター化キーのすべての列が含まれている必要があります。インデックスに追加されます。インデックスとテーブル分割を組み合わせて使用できます。テーブル分割の構文に変更を加える必要はありません。テーブルにパーティションで固定する必要があります。テーブルにのみ作成できます。インデックスには適用されません。インデックスに加えてバッチ処理を導入し、データの列指向を利用しています。列ストア構造とバッチ処理はどちらもパフォーマンス向上に役立ちますが、どちらか一方のみを利用した場合よりも、パフォーマンスの問題の調査が難しくなる可能性があります。インデックスを含むテーブルは更新できません。インデックスのデータの更新」を参照してください。(Transact-SQL)」を参照してください。インデックスに含めることができます。インデックスに含めることができます。インデックスに含めることができません。インデックスを使用することで改善されますが、クエリによっては悪化する場合があり、またワークロード全体のパフォーマンスも悪化する場合があります。インデックスの使用を決定します。インデックスが使用されることがあります。インデックスを指定します。インデックスの情報が含まれる場合があります。そのため、ごくまれに、この方法でもパフォーマンスの問題が解決されないことがあります。インデックスを削除し、行ストア処理に戻してください。クエリに最適化されています。テーブルにも適しています。テーブル内の行数が大きい場合でもデータが集計されるため、一般的に小さな結果セットを返します。インデックスを使用するクエリのパフォーマンスは、次のいずれかの条件に該当する場合には、低下する可能性があります。データが集計されていないため結果セットが大きい場合。大きな結果セットを返すときには、本質的に、小さな結果セットを返すよりも時間がかかります。結合、フィルター処理、集計のいずれも実行されない場合。この場合、バッチ処理が発生しません。インデックスの効果は圧縮と読み取り列数の削減に限られます。テーブルが作成され、ディスクへの書き込みが必要になる場合。インデックスの数が増える場合。インデックスに対する結合条件に、複数の列が含まれている場合。以上のいずれかの原因で処理速度が低下した場合、このセクションで説明した方法を使用して解決することができます。インデックスには、次の制限があります。多い列を持つことはできません。クラスター化できません。インデックスのみが利用可能です。一意なインデックスにすることはできません。インデックス付きビュー上では作成できません。スパース列を含めることはできません。主キーまたは外部キーとして機能することはできません。ステートメントを使用して変更することはできません。そのため、削除して再作成する必要があります。インデックスを無効にしてから再作成することができます。キーワードを使用して作成することはできません。キーワードを含めることはできません。インデックスは、圧縮アルゴリズムに従って順序付けされます。インデックスには、並べ替えは許可されていません。句を使用する必要があります。従来のインデックスの方法で統計を使用または保持しません。属性を持つ列を含めることはできません。属性を含めることができます。インデックスのデータの更新」を参照してください。列ストア処理は、メモリ内の処理に最適化されています。メモリ不足に陥ったときにデータおよび大部分のデータ構造をディスクに書き込む機能を備えています。メモリの制約が厳しい場合、処理に行ストアが使用されます。インデックスが選択されているが、必要なデータ構造を構築するにはメモリが足りない状況が発生する場合もあります。パスに移行するため、ある程度パフォーマンスが低下することがあります。すべてのクエリで効果的なメモリ要件は、特定のクエリによって決まります。一般的に、文字列である列の比率が増えると、必要なメモリの量も増加します。インデックスを構築するために必要なメモリを減らすことができます。モードを使用して評価されます。モードによってさらに高速化されます。モード処理に対応しません。インデックスが検討されなくなります。テーブルを使用します。テーブルをパーティション分割したテーブルを作成します。データベース」を参照してください。いう名前のテーブルを作成します。インデックスが使用されたことを確認します。よって使用される実際の実行プランのグラフィカル表示が有効になります。ウィンドウで、次のクエリを実行します。プランで選択されていることを確認します。注グラフィカルなプラン表示アイコンの詳細については、「プラン表示の論理操作と物理操作のリファレンス」を参照してください。マートで使用されます。スキーマを対象とするクエリを検出し、高速化することができます。以降の例ではテーブルがそれほど大きくないため、バッチ処理が使用されない場合があります。並列処理などのバッチ実行モードは、コストの高いクエリにのみ使用されます。販売数を四半期単位で計算するスター結合クエリがあるとします。テーブルにリンクされます。d.CalendarQuarter;また、単一のテーブルのみを対象とするクエリが使用される場合も考えられます。テクノロジを利用して、クエリの実行速度の向上を試みます。