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

Индексите на Sql сървъра включват ли първичен ключ?

Вашият колега обединява „Първичен ключ“ с „клъстерен индексен ключ“ (вероятно защото по подразбиране PK е създаден в купчина, без да указва nonclustered ключовата дума ще се превърне в групиран индекс на таблицата).

Това е вярно че на таблица с клъстерен индекс стойността на ключа на клъстерен индекс ще бъде добавена като включена колона(и) към всички неклъстерирани индекси, за да действа като локатор на ред. (въпреки че колоната(ите) няма да бъдат добавени два пъти, ако вече са част от дефиницията на неклъстъриран индекс).

Идеалният клъстериран индексен ключ е

  • уникален (За да действа като локатор на ред, той трябва да е уникален - SQL Server ще добави уникализатор, ако не е)
  • тесен (Тъй като се възпроизвежда във всички неклъстерирани индекси)
  • статичен (Избягвайте да актуализирате стойността на множество различни места)
  • постоянно нарастващ



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Възможно ли е да получите mac адреса с помощта на съхранена процедура?

  2. Сборна функция - Замяна на NULL

  3. com.microsoft.sqlserver.jdbc.SQLServerException:Вариантният тип данни не се поддържа

  4. Как да изчислим възрастта (в години) въз основа на датата на раждане и getDate()

  5. извлича конкретен диапазон от редове в таблица на SQL Server