Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Sql Server int vs nvarchar confronto sulle prestazioni?

INT sarà più veloce - ecco perché:

  • SQL Server organizza i suoi dati e l'indice in pagine di 8K
  • se hai una pagina indice con la chiave INT, ottieni circa 2'000 voci INT
  • se hai NVARCHAR(128) e utilizzi in media 20 caratteri, sono 40 byte per voce o circa 200 voci per pagina

Quindi, per la stessa quantità di voci di indice, il caso NVARCHAR(128) utilizzerebbe dieci volte più pagine di indice.

Il caricamento e la ricerca di queste pagine di indice comporteranno molte più operazioni di I/O.

Quindi, per farla breve:se puoi, usa sempre INT .