sql >> Database >  >> RDS >> Mysql

Kan ik een primaire sleutel hebben zonder geclusterde index? Kan ik ook een geclusterde index met meerdere waarden hebben?

(Dit antwoord is alleen voor SQL Server 2005+. Ik weet niets over MySQL.)

Ja. Zoals u al zei, wordt een primaire sleutelbeperking standaard ondersteund door een geclusterde index. U kunt SQL Server vertellen om de beperking te ondersteunen met een niet-geclusterde index door de beperking als volgt te declareren:

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

Ja, u kunt een index definiëren met meer dan één kolom in de indexsleutel. Het is echt niet anders dan een niet-geclusterde index.

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

Referenties:ALTER TABLE , CREATE INDEX



  1. Externe verbindingen Mysql Ubuntu

  2. Verbinding maken met MySQL met Microsoft .NET

  3. Wanneer STRAIGHT_JOIN gebruiken met MySQL?

  4. Tabelmetadata ophalen in MySQL