Ich habe Unterschied zwischen gruppierten Index und eindeutigen Index hier . Aber was ist der genaue Unterschied zwischen clustered index
und unique-clustered index
?
Das Erstellen eines Clustered-Index durch AFAIK kann für eine Spalte mit eindeutigen Werten durchgeführt werden. Wenn der Wert doppelt vorhanden ist, kann der Clustered-Index nicht festgelegt werden. Gleiches gilt für den Index mit eindeutigen Clustern.
Also möchte ich den Unterschied zwischen ihnen wissen.
sql-server
sql-server-2008
index
clustered-index
IT-Forscher
quelle
quelle
Antworten:
Sie können
UNIQUE CLUSTERED INDEX
nur eine Spalte (oder eine Kombination von Spalten) erstellen , die keine doppelten Daten enthält. Die Tatsache, dass Sie den Index mit demUNIQUE
Schlüsselwort erstellen, bedeutet, dass Sie Benutzer jetzt daran hindern, nicht eindeutige Daten hinzuzufügen. (in den Schlüsselspalten des Clustered-Index)A
CLUSTERED INDEX
kann für eine Spalte (oder eine Kombination von Spalten) erstellt werden, die doppelte Daten enthält. In diesem Fall hindert Sie der Clustered-Index nicht daran, nicht eindeutige Schlüsseldaten hinzuzufügen.Da ein Clustered-Index-Schlüssel jedoch die Zeilen-ID ist, muss er in der Lage sein, eine Zeile eindeutig zu identifizieren, selbst wenn sie in einer Spalte mit doppelten Einträgen erstellt wurde. Wenn Sie
CLUSTERED INDEX
für jede Zeile ein Duplikat erstellen , fügt SQL Server der Zeile daher einen 4-Byte-Eindeutiger hinzu, sodass der Index tatsächlich eindeutig wird. Dies geschieht alles unter der Haube.quelle