sql >> Databasteknik >  >> RDS >> Sqlserver

vad är skillnaden mellan Clustered Index och Unique Index?

De två är orelaterade:

  • "Unik" säkerställer att varje värde inträffar exakt endast en gång
  • "Klustrade" är hur data är ordnade på disken

Du kan ha alla fyra permutationerna:

  • "unik icke-klustrad"
  • "unika klustrade"
  • "icke-unik icke-klustrad"
  • "icke-unik klustrad"

Viss förvirring uppstår eftersom standarden för en "primär nyckel" (PK) i SQL Server är klustrad.

En "primär nyckel" måste dock alltid vara unik. Skillnaden mellan "unik" och "PK" är att unik tillåter en NULL, PK tillåter inte några NULLs.

Slutligen, några antal begränsningar

  • eftersom klustrade hänvisar till layouten på disken, kan du bara ha ett klustrat index per tabell
  • en tabell kan inte ha mer än en pimärnyckel men kan ha många unika index


  1. Lägg till 2 månader till aktuell tidsstämpel

  2. CodeIgniter Välj uttalande med Where-klausul

  3. Hur använder man LOAD DATA INFILE-satsen när filen är en annan plats?

  4. PostgreSQL IN-operator med underfrågan dålig prestanda