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

Relacja klucza podstawowego i indeksu klastrowego

Klucz podstawowy to logiczny pojęcie - to unikalny identyfikator wiersza w tabeli. W związku z tym ma wiele atrybutów — może nie być null i musi być unikalny. Oczywiście, ponieważ prawdopodobnie będziesz często wyszukiwać rekordy według ich unikalnego identyfikatora, dobrze byłoby mieć indeks na kluczu podstawowym.

Indeks klastrowy jest fizyczny pojęcie - jest to indeks, który wpływa na kolejność przechowywania rekordów na dysku. To sprawia, że ​​jest to bardzo szybki indeks podczas uzyskiwania dostępu do danych, chociaż może spowolnić zapis, jeśli klucz podstawowy nie jest numerem sekwencyjnym.

Tak, możesz mieć klucz podstawowy bez indeksu klastrowego - a czasami możesz chcieć (na przykład, gdy klucz podstawowy jest kombinacją kluczy obcych w tabeli łączącej i nie chcesz ponosić kosztów związanych z przetasowaniem dysku podczas pisania).

Tak, możesz utworzyć indeks klastrowy na kolumnach, które nie są kluczem podstawowym.



  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 uruchomić wygenerowany SQL ze zmiennej?

  2. wyświetl podkategorie za pomocą SQL

  3. Jak zaktualizować z SELECT w SQL Server?

  4. Jak tworzyć zadania w edycji SQL Server Express

  5. Korzystanie z indeksów w tabelach SQL Server zoptymalizowanych pod kątem pamięci