クラスタ化インデックスと一意のインデックスの違いがわかりました here 。しかし、clustered index
とunique-clustered index
の正確な違いは何ですか?
クラスター化インデックスの作成は、一意の値を持つ列に対して行うことができます。値が重複している場合は、クラスター化インデックスを設定できません。一意のクラスター化インデックスの場合も同様です。
だから私はそれらの違いを知りたいです。
UNIQUE CLUSTERED INDEX
重複データを含まない列(または列の組み合わせ)のみ。 UNIQUE
キーワードを使用してインデックスを作成するということは、ユーザーに一意でないデータを追加することを制限していることを意味します。 (クラスター化インデックスのキー列内)
CLUSTERED INDEX
は、重複データを含む列(または列の組み合わせ)に作成できます。したがって、この場合、クラスター化インデックスは、一意でないキーデータの追加を制限していません。
ただし、クラスター化インデックスキーは行識別子であるため、重複するエントリを含む列に作成された場合でも、行を一意に識別できる必要があります。このため、CLUSTERED INDEX
重複するすべての行について、SQL Serverは4バイトの一意識別子を行に追加するため、実際にはインデックスは一意になります。これはすべて内部で行われます。