INT kommer att bli snabbare - det är därför:
- SQL Server organiserar sina data och indexerar till sidor på 8K
- om du har en indexsida med INT-nyckel på får du ungefär 2 000 INT-poster
- om du har NVARCHAR(128) och du använder i genomsnitt 20 tecken, är det 40 byte per post, eller ungefär 200 poster per sida
Så för samma antal indexposter skulle NVARCHAR(128)-fallet använda tio gånger så många indexsidor.
Att ladda och söka på dessa indexsidor kommer att medföra betydligt fler I/O-operationer.
Så för att göra saker kort:om du kan, använd alltid INT .