INT ще бъде по-бърз - ето защо:
- SQL Server организира своите данни и индекс в страници от 8K
- ако имате индексна страница с INT ключ върху нея, получавате приблизително 2 000 INT записа
- ако имате NVARCHAR(128) и използвате средно 20 знака, това е 40 байта на запис или приблизително 200 записа на страница
Така че за същото количество индексни записи, случаят NVARCHAR(128) ще използва десет пъти повече индексни страници.
Зареждането и търсенето в тези индексни страници ще доведе до значително повече I/O операции.
Така че, за да направим нещата накратко:ако можете, винаги използвайте INT .