Zadeklarowałem kolumnę typu NVARCHAR(MAX)
w SQL Server 2008, jakie byłyby jej dokładne maksymalne znaki o MAX jako długości?
Zadeklarowałem kolumnę typu NVARCHAR(MAX)
w SQL Server 2008, jakie byłyby jej dokładne maksymalne znaki o MAX jako długości?
Odpowiedzi:
Maksymalny rozmiar kolumny typu NVARCHAR(MAX)
wynosi 2 GB pamięci.
Od NVARCHAR
używa 2 bajtów na znak, jest to ok. 1 miliard znaków.
Lew Tołstoj w War and Peace jest książka 1'440 strona, zawierająca około 600'000 słowy - tak, że może być 6 milionów znaków - dobrze zaokrąglone w górę. Możesz więc umieścić w każdej z nich około 166 kopii całej książki Wojna i pokójNVARCHAR(MAX)
kolumnie ”.
Czy to wystarczy dla twoich potrzeb? :-)
Domyślnie wartości nvarchar (MAX) są przechowywane dokładnie tak samo, jak wartości nvarchar (4000), chyba że faktyczna długość przekracza 4000 znaków; w takim przypadku dane w wierszu są zastępowane wskaźnikiem do co najmniej jednej oddzielnej strony, na której są przechowywane dane.
Jeśli przewidujesz, że dane mogą przekraczać 4000 znaków, zdecydowanie zalecany jest nvarchar (MAX).
nvarchar [(n | max )]
Dane łańcuchowe Unicode o zmiennej długości. n określa długość łańcucha i może mieć wartość od 1 do 4 000. max wskazuje, że maksymalny rozmiar pamięci to 2 ^ 31-1 bajtów (2 GB). Rozmiar pamięci, w bajtach, jest dwa razy większy niż rzeczywista długość wprowadzonych danych + 2 bajty
Myślę, że faktycznie nvarchar(MAX)
może przechowywać około 1070000000 znaków.