Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

database:chiave primaria, cluster o non cluster

La seguente affermazione:

CONSTRAINT pk_UserID PRIMARY KEY (U_Id)

È uguale a questo:

CONSTRAINT pk_UserID PRIMARY KEY CLUSTERED (U_Id)

Puoi avere la fisicità dei dati della tabella solo ordinata per uno degli indici e per impostazione predefinita tale indice è quello utilizzato per la chiave primaria (il vincolo univoco della chiave primaria è sempre supportato da un indice).

Se vuoi lasciare l'ordine dei dati della tabella da memorizzare in base a qualche altro indice, devi creare la chiave primaria con:

CONSTRAINT pk_UserID PRIMARY KEY NONCLUSTERED (U_Id)

Quindi crea l'indice cluster con:

CREATE CLUSTERED INDEX ix_Email ON Users (Email);