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

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

4 ответа

Решение

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

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

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

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

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

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

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

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

nvarchar [(n | max)]

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

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

Другие вопросы по тегам