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

Сравнение на производителността на Sql Server int срещу nvarchar?

INT ще бъде по-бърз - ето защо:

  • SQL Server организира своите данни и индекс в страници от 8K
  • ако имате индексна страница с INT ключ върху нея, получавате приблизително 2 000 INT записа
  • ако имате NVARCHAR(128) и използвате средно 20 знака, това е 40 байта на запис или приблизително 200 записа на страница

Така че за същото количество индексни записи, случаят NVARCHAR(128) ще използва десет пъти повече индексни страници.

Зареждането и търсенето в тези индексни страници ще доведе до значително повече I/O операции.

Така че, за да направим нещата накратко:ако можете, винаги използвайте INT .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Използване на условие if във вмъкнат SQL Server

  2. Как да завъртите динамично с дата като колона

  3. Накарайте Hibernate и SQL Server да играят добре с VARCHAR и NVARCHAR

  4. SQL Server Уникален композитен ключ от две полета с автоматично увеличение на второ поле

  5. Има ли функция Max в SQL Server, която приема две стойности като Math.Max ​​в .NET?