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

SQL индекс - Разлика между char и int

Колоните Integer/Identity често се използват за първични ключове в таблиците на базата данни поради редица причини. Колоните с първичен ключ трябва да са уникални, не трябва да могат да се актуализират и наистина трябва да са безсмислени. Това прави колона за самоличност доста добър избор, защото сървърът ще получи следващата стойност за вас, те трябва да са уникални, а целите числа са сравнително малки и могат да се използват (в сравнение с GUID).

Някои архитекти на бази данни ще твърдят, че други типове данни трябва да се използват за стойности на първичен ключ и критериите за „безсмислени“ и „неподлежащи на актуализиране“ могат да бъдат аргументирани убедително и от двете страни. Независимо от това, полетата за цели числа/идентичност са доста удобни и много дизайнери на бази данни откриват, че създават подходящи ключови стойности за референтна цялост.

  1. Най-добрият избор за първичен ключ са целочислените типове данни, тъй като целочислените стойности се обработват по-бързо от стойностите на символните типове данни. Знаков тип данни (като първичен ключ) трябва да бъде преобразуван в ASCII еквивалентни стойности преди обработка.
  2. Извличането на записа на базата на първичен ключ ще бъде по-бързо в случай на цели числа като първични ключове, тъй като това ще означава, че повече индексни записи ще присъстват на една страница. Така общото време за търсене намалява. Също така присъединяванията ще бъдат по-бързи. Но това ще бъде приложимо, в случай че вашата заявка използва търсене на клъстериран индекс, а не сканиране, и ако се използва само една таблица. В случай на сканиране липсата на допълнителна колона ще означава повече редове на една страница с данни.

Надяваме се, че това ще ви помогне!



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

  2. Актуализиране на колоната за брой от данни в друга таблица

  3. Намерете колони, които съдържат само нули

  4. Как мога да конвертирам функцията за разделяне във вградена таблица със стойност udf в SQL сървър?

  5. MySQL - Значение на ПЪРВИЧЕН КЛЮЧ, УНИКАЛЕН КЛЮЧ и КЛЮЧ, когато се използват заедно при създаване на таблица