Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Kann ich einen Primärschlüssel ohne gruppierten Index haben? Kann ich auch einen mehrwertigen gruppierten Index haben?

(Diese Antwort gilt nur für SQL Server 2005+. Ich weiß nichts über MySQL.)

Ja. Wie Sie bereits erwähnt haben, wird eine Primärschlüsseleinschränkung standardmäßig durch einen gruppierten Index unterstützt. Sie können SQL Server anweisen, die Einschränkung mit einem nicht gruppierten Index zu unterstützen, indem Sie die Einschränkung wie folgt deklarieren:

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

Ja, Sie können einen Index mit mehr als einer Spalte im Indexschlüssel definieren. Es ist wirklich nicht anders als ein Nonclustered-Index.

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

Referenzen:ALTER TABLE , CREATE INDEX