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

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

 underscore_d22 февр. 2018 г., 13:18

Ответы на вопрос(4)

nvarchar(MAX) values are stored exactly the same as nvarchar(4000) values would be, unless the actual length exceed 4000 characters; in that case, the in-row data is replaced by a pointer to one or more seperate pages where the data is stored.

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

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

 21 июн. 2012 г., 15:46
Также НЕ рекомендуется, если ваши данные никогда не будут превышать 4000 символов, поскольку существуют проблемы с индексацией.

Документация MSDN

nvarchar [ ( n | max ) ]

Variable-length Unicode string data. n defines the string length and can be a value from 1 through 4,000. max indicates that the maximum storage size is 2^31-1 bytes (2 GB). The storage size, in bytes, is two times the actual length of data entered + 2 bytes

Решение Вопроса

NVARCHAR(MAX) 2 ГБ памяти.

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

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

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

 21 авг. 2018 г., 02:07
Это безумие Спарты.
 28 июл. 2015 г., 07:15
Просто гнида. NVARCHAR использует 2 байта для большинства символов. Для символов Юникода свыше U + 00FFFF. Он будет использовать четыре байта.

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

 27 нояб. 2014 г., 00:22
Не могли бы вы объяснить, где вы получаете это число и что вы подразумеваете под "точно"? (то есть вы говорите, что это не жесткий предел, но с большим количеством символов могут быть проблемы? Какие проблемы? Почему?)
 27 нояб. 2014 г., 17:50
Я не уверен, но я думаю, что если nvarchar использует двойной пробел, чем varchar для хранения символа, а максимальное количество памяти, которое nvarchar (MAX) может использовать для хранения символов, составляет 2 ^ 31-1 = & gt; 2147483647, затем 2147483647/2 - 1073741824. Я имею в виду, что это не точное число.

Ваш ответ на вопрос