Mysql
 sql >> Database >  >> RDS >> Mysql

Posso avere una chiave primaria senza indice cluster? Inoltre posso avere un indice cluster multivalore?

(Questa risposta è solo per SQL Server 2005+. Non so nulla di MySQL.)

Sì. Come accennato, un vincolo di chiave primaria è supportato da un indice cluster per impostazione predefinita. Puoi indicare a SQL Server di eseguire il backup del vincolo con un indice non cluster dichiarando il vincolo come segue:

ALTER TABLE MyTable
    ADD CONSTRAINT PK_MyTable
        PRIMARY KEY NONCLUSTERED(Col1);

Sì, puoi definire un indice con più di una colonna nella chiave dell'indice. Non è davvero diverso da un indice non cluster.

CREATE UNIQUE CLUSTERED INDEX IX_MyTable_Clus
    ON MyTable(Col1, Col2, Col3);

Riferimenti:ALTER TABLE , CREATE INDEX