0

非クラスター化インデックスがテーブル内のデータを検索する方法を理解しようとしています。クラスター化されていない場合のインデックスは、個々の行を指すのではなく、インデックス付きの列の値を検索するときに、データ ページまたはデータ行のグループを指すだけだと思います。つまり、非クラスター化インデックスを使用する場合は、検索する特定のデータ行を取得するためにデータ ページをスキャンする必要があります。これは本当ですか?

4

1 に答える 1

2

非クラスター化インデックスが HEAP (クラスター化インデックスのないテーブル) で定義されている場合、各インデックス エントリには次の行アドレスが含まれます: (FileId:PageNumber:SlotNumber) したがって、この場合、検索は必要ありません。

クラスター化インデックスを持つテーブルに非クラスター化インデックスが定義されている場合、非クラスター化インデックスの各行にはクラスター化インデックス キーが含まれます。行に到達するために、SQL Server はクラスター化インデックスでシークを実行して含まれているページを見つけ、次にそのページ内の行をスキャンする必要があります。

于 2012-10-18T00:45:15.910 に答える