Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Gibt es Nachteile, immer nvarchar(MAX) zu verwenden?

Dieselbe Frage wurde in den MSDN-Foren gestellt:

  • Varchar(max) gegen Varchar(255)

Aus dem ursprünglichen Beitrag (viel mehr Informationen dort):

Wenn Sie Daten in einer VARCHAR(N)-Spalte speichern, werden die Werte physisch auf die gleiche Weise gespeichert. Aber wenn Sie es in einer VARCHAR(MAX)-Spalte speichern, werden die Daten hinter dem Bildschirm als TEXT-Wert behandelt. Daher ist beim Umgang mit einem VARCHAR(MAX)-Wert eine zusätzliche Verarbeitung erforderlich. (nur wenn die Größe 8000 überschreitet)

VARCHAR(MAX) oder NVARCHAR(MAX) wird als „großer Werttyp“ betrachtet. Große Werttypen werden normalerweise „außerhalb der Reihe“ gespeichert. Das bedeutet, dass die Datenzeile einen Zeiger auf einen anderen Ort hat, an dem der „große Wert“ gespeichert ist...