Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

SQL Server int vs nvarchar porównanie wydajności?

INT będzie szybszy - oto dlaczego:

  • SQL Server organizuje swoje dane i indeks na stronach o rozmiarze 8K
  • jeśli masz stronę indeksową z kluczem INT, otrzymasz około 2000 wpisów INT
  • jeśli masz NVARCHAR(128) i używasz średnio 20 znaków, to 40 bajtów na wpis lub około 200 wpisów na stronę

Tak więc dla tej samej liczby wpisów indeksu przypadek NVARCHAR(128) wykorzystałby dziesięć razy więcej stron indeksu.

Ładowanie i wyszukiwanie tych stron indeksowych spowoduje znacznie więcej operacji we/wy.

Krótko mówiąc:jeśli możesz, zawsze używaj INT .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wdróż zawsze włączone grupy dostępności programu SQL Server w systemie Linux

  2. Optymistyczna współbieżność:IsConcurrencyToken i RowVersion

  3. Jak przenieść tabelę do schematu w T-SQL?

  4. Pobieranie tylko Miesiąca i Roku z SQL DATE

  5. Łączenie się z lokalną bazą danych SQL Server przy użyciu C#