sql >> Database >  >> RDS >> Sqlserver

Sql Server int vs nvarchar vergelijking op prestaties?

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 .



  1. Kolom _ID bestaat niet fout hoewel het in tabel bestaat

  2. Back-ups van verschillende instanties controleren

  3. Retourneer een lijst met tabellen en weergaven in SQL Server met behulp van T-SQL (sp_tables)

  4. Huidige datum en tijd invoegen in SQLite-database