Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Datenbank:Primärschlüssel, Clustered oder NonClustered

Die folgende Anweisung:

CONSTRAINT pk_UserID PRIMARY KEY (U_Id)

Ist dasselbe wie dieses hier:

CONSTRAINT pk_UserID PRIMARY KEY CLUSTERED (U_Id)

Sie können die Physikalität der Tabellendaten nur nach Eins ordnen lassen der Indizes, und standardmäßig ist dieser Index derjenige, der für den Primärschlüssel verwendet wird (die Eindeutigkeitsbeschränkung des Primärschlüssels wird immer von einem Index unterstützt).

Wenn Sie die Reihenfolge der zu speichernden Tabellendaten nach einem anderen Index belassen möchten, sollten Sie den Primärschlüssel mit:

erstellen
CONSTRAINT pk_UserID PRIMARY KEY NONCLUSTERED (U_Id)

Und dann erstellen Sie den gruppierten Index mit:

CREATE CLUSTERED INDEX ix_Email ON Users (Email);