Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Необходим ли е първичен ключ в SQL Server?

Необходимо? Не. Използван зад кулисите? Е, записва се на диска и се съхранява в кеша на редовете и т.н. Премахването леко ще увеличи производителността ви (използвайте часовник с точност до милисекунди, за да забележите).

Но ... следващия път, когато някой трябва да създаде препратки към тази таблица, ще ви прокълне. Ако са смели, ще добавят PK (и ще чакат дълго време DB да създаде колоната). Ако не са смели или глупави, те ще започнат да създават препратки, използвайки бизнес ключа (т.е. колоните с данни), което ще причини кошмар за поддръжка.

Заключение:Тъй като цената на притежаването на PK (дори ако не е използван банкомат) е толкова малка, нека бъде.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да обединя два или повече реда въз основа на външния им ключ?

  2. Най-ефективният начин за ограничаване на връщанията на редове от заявка за обединение - TSQL

  3. Основи на дневника на транзакциите на SQL Server

  4. Изтриване на свързани редове в релация много към много

  5. Трябва ли клъстерираните индекси да бъдат уникални?