非一意の列をクラスター化インデックスおよび非クラスター化インデックスとして定義することができます。ただし、クラスター化インデックスの場合、列が一意として定義されていない場合、SQLServerはインデックス付きの列に4バイトの整数を追加します。これは、2つ以上のレコードがその列の値を持っている場合でも、レコードの「一意性」を内部的に維持するために行われます。非クラスター化インデックスの場合、なぜこの整数が必要ないのですか?
1017 次
2 に答える
7
非クラスター化インデックスには既にクラスター化インデックス列が含まれているため、相関する正確な行を参照できます。したがって、クラスター化インデックスに一意化子がある場合、非クラスター化インデックスにも一意化子が含まれます。
ここでの良い説明:SQLServerでのUniquifierの理解と調査
于 2012-09-07T17:39:51.270 に答える
0
これは行ロケーターに関係していると思います。
非クラスター化インデックス行の幅=非クラスター化インデックス列の幅+クラスター化インデックス列の幅=列データ型のサイズ+列データ型のサイズ。
于 2012-09-07T17:41:02.323 に答える