it-swarm.com.de

Was ist die maximale Zeichenanzahl für NVARCHAR (MAX)?

Ich habe in SQL Server 2008 eine Spalte vom Typ NVARCHAR(MAX) deklariert. Was wären die genauen Maximalzeichen mit dem Wert MAX als Länge?

170
Jerameel Resco

Die maximale Größe für eine Spalte vom Typ NVARCHAR(MAX) beträgt 2 GByte Speicher.

Da NVARCHAR 2 Bytes pro Zeichen verwendet, sind das ca. 1 Milliarde Zeichen.

Leo Tolstojs Krieg und Frieden ist ein Buch mit 1'440 Seiten, das ungefähr 600'000 Wörter enthält - das könnten also 6 Millionen Zeichen sein - gut aufgerundet. Sie könnten also ungefähr 166 Exemplare des gesamten Buches Krieg und Frieden in jede Spalte NVARCHAR(MAX) stecken.

Ist das genug Platz für Ihre Bedürfnisse? :-)

342
marc_s

Standardmäßig werden nvarchar-Werte (MAX) genauso gespeichert wie nvarchar-Werte (4000), es sei denn, die tatsächliche Länge überschreitet 4000 Zeichen. In diesem Fall werden die In-Row-Daten durch einen Zeiger auf eine oder mehrere separate Seiten ersetzt, auf denen die Daten gespeichert sind.

Wenn Sie mit Daten rechnen, die möglicherweise mehr als 4000 Zeichen enthalten, ist nvarchar (MAX) definitiv die empfohlene Wahl.

Quelle: https://social.msdn.Microsoft.com/Forums/en-US/databasedesign/thread/d5e0c6e5-8e44-4ad5-9591-20dc0ac7a870/

50
Madushan

Von MSDN-Dokumentation

nvarchar [(n | max )]

Unicode-String-Daten variabler Länge. n definiert die Stringlänge und kann einen Wert zwischen 1 und 4.000 annehmen. max gibt an, dass die maximale Speichergröße 2 ^ 31-1 Byte (2 GB) beträgt. Die Speichergröße in Byte entspricht dem Zweifachen der tatsächlichen Länge der eingegebenen Daten + 2 Byte

7
JiNish

Ich denke, tatsächlich kann nvarchar(MAX) ungefähr 1070000000 Zeichen speichern.