2009-04-17 18 views

答えて

2

クラスタ化インデックスSCANは、クラスタードインデックス(=データテーブル)全体を最初から最後までスキャンします。

クラスタ化インデックスSEEKは、そのインデックスの(期待されるほど小さい)部分/セクションのみをスキャンします - >はるかに高速です!

マルク・

+0

ありがとう – Anoop

2

ちょうどはるかに高速追求すること、照会されているアイテムを下に移動模索しながら、スキャンは、インデックス内のすべてのエントリを打ちます。一般的に、スキャンは必要な場合を除いて避けるべきです。

4

クラスタ化インデックススキャンは、クラスタ化インデックスを持つテーブルのテーブルスキャンです。デフォルトでプライマリキーはクラスタ化されたインデックスなので、基本的にプライマリキーを持つテーブルです。

クラスタード・インデックス・スキャンは、述部に主キー以外の列があり(述部を満たすために使用可能な他の索引がない)ときに発生します。

述語にインデックス内の1つ以上の列が含まれている場合、クラスタード・インデックス・シーク(および非クラスター化インデックス・シーク)が発生します。これにより、クエリプロセッサは、スキャンすることなくインデックスに基づいて行の範囲を検索することができます。比較はそれができ、直接的な値であるよう

select Name from Table where Group = 42 

1

Aのようなクエリで、例えば、条件が索引付けされたデータに適合するとき、それは効率的にインデックスを利用することができるように使用されるシーク項目のある部分の索引を簡単に見つけることができます。

条件はより複雑である場合、インデックス内のすべての値が評価されなければならないようにスキャンがクエリで、例えば、使用されているように:条件は、インデックスから算出される値を使用するよう

select Name from Table where right(cast(group as varchar), 2) = '00' 

索引の一部を分離するのに簡単に使用できない場合、すべての項目を評価する必要があります。

関連する問題