Каковы максимальные символы для NVARCHAR (MAX)?

Я объявил столбец типа NVARCHAR(MAX) в SQL Server 2008, какими будут его точные максимальные символы, имеющие MAX как длину?

Ответ 1

Максимальный размер для столбца типа NVARCHAR(MAX) составляет 2 ГБ памяти.

Так как NVARCHAR использует 2 байта на символ, то прибл. 1 миллиард символов.

Лев Толстой "Война и мир" - это книга объемом 1 440 страниц, содержащая около 600 000 слов - так что может быть 6 миллионов символов - хорошо округлено. Таким образом, вы можете хранить около 166 копий всей книги Войны и мира в каждом столбце NVARCHAR(MAX).

Это достаточно места для ваших нужд?: -)

Ответ 2

По умолчанию значения nvarchar (MAX) сохраняются точно так же, как и значения nvarchar (4000), если фактическая длина не превышает 4000 символов; в этом случае данные в строке заменяются указателем на одну или несколько отдельных страниц, где хранятся данные.

Если вы ожидаете, что данные могут превысить 4000 символов, nvarchar (MAX) определенно является рекомендуемым выбором.

Источник: https://social.msdn.microsoft.com/Forums/en-US/databasedesign/thread/d5e0c6e5-8e44-4ad5-9591-20dc0ac7a870/

Ответ 3

Из документации MSDN

nvarchar [(n | max)]

Строковые данные Unicode переменной длины. n определяет длину строки и может принимать значение от 1 до 4000. max указывает, что максимальный размер хранилища составляет 2 ^ 31-1 байт (2 ГБ). Размер хранилища в байтах в два раза превышает фактическую длину введенных данных + 2 байта

Ответ 4

Я думаю, что на самом деле nvarchar(MAX) может хранить примерно 1070000000 символов.