Wie verhält sich das Schlüsselwort PRIMARY KEY
zu Clustered-Indizes in MS SqlServer?
Standardmäßig ist PRIMARY KEY
als Clustered-Index implementiert. Sie können es jedoch auch durch einen nicht gruppierten Index sichern (unter Angabe von NONCLUSTERED
Optionen für seine Deklaration).
Ein Clustered-Index ist nicht notwendigerweise ein PRIMARY KEY
. Es kann sogar nicht eindeutig sein (in diesem Fall wird zu jedem Schlüssel eine versteckte Spalte namens uniqueifier
hinzugefügt).
Beachten Sie, dass ein gruppierter Index nicht wirklich ein Index ist (d. H. Eine Projektion einer Tabelle, die anders angeordnet ist, mit den Verweisen auf Originalsätze). Es ist die Tabelle selbst, mit den ursprünglichen Aufzeichnungen bestellt.
Wenn Sie einen gruppierten Index erstellen, "erstellen" Sie nichts, was Sie aus der Tabelle entfernen können. Sie ändern nur die Tabelle selbst und ändern die Art und Weise, wie die Datensätze gespeichert werden.
Wow, Uniquifier. Heute etwas Neues gelernt. –
Wenn Sie einen Clustered-Index erstellen, erstellen Sie eine Stammindexseite und Zwischenseiten. Immer noch +1. –