Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Czy mogę mieć klucz podstawowy bez indeksu klastrowego? Czy mogę mieć wielowartościowy indeks klastrowy?

(Ta odpowiedź dotyczy tylko SQL Server 2005+. Nie wiem nic o MySQL.)

Tak. Jak wspomniałeś, ograniczenie klucza podstawowego jest domyślnie wspierane przez indeks klastrowy. Możesz powiedzieć SQL Serverowi, aby poparł ograniczenie indeksem nieklastrowym, deklarując ograniczenie w następujący sposób:

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

Tak, możesz zdefiniować indeks z więcej niż jedną kolumną w kluczu indeksu. To naprawdę nie różni się od indeksu nieklastrowanego.

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

Referencje:ALTER TABLE , CREATE INDEX



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zwrócić wiersze, które mają te same wartości kolumn w MySql

  2. Obliczanie całkowitej ilości sprzętu dla zakresu dat

  3. Wstaw wiele e-maili do mysql za pomocą jednego obszaru tekstowego

  4. Czy istnieje opcja/funkcja MySQL do śledzenia historii zmian w rekordach?

  5. Formularz PHP nie przesyła pliku