クラスター化インデックスには、インデックス フィールドだけでなく、すべての行データが含まれていることがわかりました。断片化に関して、これが意味することを理解しようとしています。
次のようなテーブルがあるとします。
create table Files
(
ID uniqueidentifier not null,
Field1 nvarchar(300) null,
Field2 nvarchar(300) null,
Field3 nvarchar(300) null,
Binary varbinary(max) null
)
ここで、これらの行がすべてデータでいっぱいで、クラスター化インデックスの以前の行のいくつかで、Field1、Field2、Field3、および Binary を突然 null に設定したとします。
これが意味することの 1 つは、私の単純な考え方ですが、これらの値をすべて消去するとギャップが生じ、インデックスが断片化することです。行はまだ正しい順序になっていると思いますが、それは本当にインデックスの断片化ですか?
または、別の方法で考えることができます。それらがすべて最初から null で、データを挿入する場合、データを別のページにシャッフルしなければならず、インデックスの断片化も発生しますか?
さらに、LOB データが別のアロケーション ユニットに格納されていることは知っていますが、それが何を意味するのかはわかりません。Binary を null に設定 (または設定) しても、クラスター化インデックスの断片化には影響しないということですか?