INT zal sneller zijn - dit is waarom:
- SQL Server organiseert zijn gegevens en index in pagina's van 8K
- als je een indexpagina hebt met een INT-sleutel erop, krijg je ongeveer 2.000 INT-items
- als je NVARCHAR(128) hebt en je gebruikt gemiddeld 20 tekens, dan is dat 40 bytes per item, of ongeveer 200 items per pagina
Dus voor hetzelfde aantal indexitems zou het geval NVARCHAR(128) tien keer zoveel indexpagina's gebruiken.
Het laden en doorzoeken van die indexpagina's zal aanzienlijk meer I/O-bewerkingen met zich meebrengen.
Dus om het kort te houden:als je kunt, gebruik dan altijd INT .