Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

jaka jest różnica między indeksem klastrowym a indeksem unikalnym?

Te dwa są niepowiązane:

  • „Unikalny” zapewnia, że ​​każda wartość występuje dokładnie tylko raz
  • "Clustered" to sposób rozmieszczenia danych na dysku

Możesz mieć wszystkie 4 permutacje:

  • „unikalne nieklastrowane”
  • "unikalne klastry"
  • „nieunikatowe nieklastrowane”
  • „nieunikalne klastry”

Pojawiają się pewne zamieszanie, ponieważ domyślny „klucz podstawowy” (PK) w SQL Server jest klastrowany.

Jednak „klucz podstawowy” musi być zawsze unikalny. Różnica między "unikalnym" a "PK" polega na tym, że unikalny pozwala na jeden NULL, a PK nie pozwala na żadne NULL.

Na koniec pewne limity liczbowe

  • ponieważ klastrowanie odnosi się do układu na dysku, możesz mieć tylko jeden indeks klastrowany na tabelę
  • tabela nie może mieć więcej niż jednego klucza podstawowego, ale może mieć wiele unikalnych indeksów


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy NOLOCK jest wartością domyślną dla instrukcji SELECT w SQL Server 2005?

  2. Wygenerować skrypt wstawiania dla wybranych rekordów?

  3. Jednokierunkowa synchronizacja w czasie rzeczywistym z serwera sql do innego repozytorium danych

  4. Indeks pełnotekstowy programu SQL Server

  5. SUBSTRING vs LEFT w SQL SERVER