Ich habe NVARCHAR(MAX)
in SQL Server 2008 eine Spalte vom Typ deklariert. Was wären die genauen maximalen Zeichen mit der maximalen Länge MAX?
Ich habe NVARCHAR(MAX)
in SQL Server 2008 eine Spalte vom Typ deklariert. Was wären die genauen maximalen Zeichen mit der maximalen Länge MAX?
Antworten:
Die maximale Größe für eine Spalte vom Typ NVARCHAR(MAX)
beträgt 2 GByte Speicherplatz.
Da NVARCHAR
2 Bytes pro Zeichen verwendet werden, 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 - und gut aufgerundet ist. Sie könnten also ungefähr 166 Exemplare des gesamten Kriegs- und Friedensbuchs in jede NVARCHAR(MAX)
Spalte stecken .
Ist das genug Platz für Ihre Bedürfnisse? :-)
Standardmäßig werden nvarchar (MAX) -Werte genauso gespeichert wie nvarchar (4000) -Werte, 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 Daten mit möglicherweise mehr als 4000 Zeichen erwarten, ist nvarchar (MAX) definitiv die empfohlene Wahl.
Aus der MSDN-Dokumentation
nvarchar [(n | max )]
Unicode-Zeichenfolgendaten variabler Länge. n definiert die Zeichenfolgenlänge und kann einen Wert zwischen 1 und 4.000 haben. max gibt an, dass die maximale Speichergröße 2 ^ 31-1 Byte (2 GB) beträgt. Die Speichergröße in Bytes beträgt das Zweifache der tatsächlichen Länge der eingegebenen Daten + 2 Bytes
Ich denke, tatsächlich nvarchar(MAX)
können ungefähr 1070000000 Zeichen gespeichert werden.