3

3 つの異なるクエリが実行されるテーブルがあります。

  • 最初のクエリには、2 つの列を使用する where 句があります。
  • 2 番目の 3 つの列
  • 列の 3 番目の 4 つ

推定実行計画を使用して各クエリを実行すると、SQL Server Management Studio がクエリごとに新しい別のインデックスを追加することを提案します。

パフォーマンスを最大化するために、3 つの異なるインデックスを追加できることをうれしく思います。テーブルは更新されず、めったに挿入されません。

ただし、異なるクエリに対応するために、同じテーブルに複数のインデックスを追加することをお勧めします。

4

1 に答える 1

2

クエリが十分にわかっている場合は、インデックスを追加します。

インデックスは主に、データを変更する (挿入/更新/削除) ときにオーバーヘッドを追加します。ページキャッシュのメモリも消費するため、多少の余分なオーバーヘッドが発生します。これには 2 つの方法があります。場合によっては、インデックス自体がテーブルを完全に置き換えることがあります。クエリとインデックスによっては、両方が必要になる場合があります。

データが変更されていない場合、マイナス面はほとんどなく、多くの利点があります。SQL Server はインデックスを推奨しているため、それらが使用されてクエリのパフォーマンスが向上することはかなり確信で​​きます。

于 2013-03-05T15:15:26.470 に答える