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

Znaczenie klucza podstawowego do Microsoft SQL Server 2008

Ogólnie rzecz biorąc, KLUCZ to kolumna (lub kombinacja kolumn), która jednoznacznie identyfikuje każdy wiersz w tabeli. Możliwe jest posiadanie wielu KLUCZY w tabeli (na przykład możesz mieć Person tabela, w której zarówno numer ubezpieczenia społecznego, jak i automatycznie rosnący numer są KLUCZAMI).

Projektant bazy danych wybiera jeden z tych KLUCZY ma być KLUCZEM PODSTAWOWYM. Koncepcyjnie nie ma znaczenia, który KLUCZ jest wybrany jako KLUCZ PODSTAWOWY. Ponieważ jednak klucz podstawowy jest zwykle używany do odwoływania się do wpisów w tej tabeli z innych tabel (poprzez FOREIGN KEY), wybór dobrego klucza podstawowego może być istotny w.r.t. (a) wydajność oraz (b) możliwość konserwacji :

(a) Ponieważ klucz podstawowy będzie zwykle używany w JOIN, indeks na kluczu podstawowym (jego rozmiar, jego rozkład, ...) jest znacznie bardziej istotny dla wydajności niż inne indeksy.

(b) Ponieważ klucz podstawowy jest używany jako klucz obcy w innych tabelach, zmiana wartość klucza podstawowego jest zawsze kłopotliwa, ponieważ wszystkie wartości kluczy obcych w innych tabelach również muszą zostać zmodyfikowane.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jakie są główne różnice w wydajności między typami danych varchar i nvarchar SQL Server?

  2. Słaba wydajność planu wykonania procedury składowanej w SQL - podsłuchiwanie parametrów

  3. Jakie są różnice między przekształceniami Merge Join i Lookup w usługach SSIS?

  4. Przykład prostej instrukcji scalania w SQL Server

  5. Chcę zrobić group_concat w SQL Server