INT será más rápido, he aquí por qué:
- SQL Server organiza sus datos e índices en páginas de 8K
- si tiene una página de índice con la clave INT, obtiene aproximadamente 2000 entradas INT
- si tiene NVARCHAR(128) y usa un promedio de 20 caracteres, son 40 bytes por entrada, o aproximadamente 200 entradas por página
Entonces, para la misma cantidad de entradas de índice, el caso NVARCHAR(128) usaría diez veces más páginas de índice.
Cargar y buscar esas páginas de índice generará muchas más operaciones de E/S.
Entonces, para resumir:si puede, use siempre INT .