Вопрос по sql-server, sql-server-2005, sql-server-2008 – Какое максимальное количество символов для NVARCHAR (MAX)?

157

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

Возможный дубликатWhat is the maximum number of characters that nvarchar(MAX) will hold? underscore_d

Ваш Ответ

4   ответа
4

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

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

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/

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

Документация 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

319

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

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

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

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

Это безумие Спарты.
Просто гнида. NVARCHAR использует 2 байта для большинства символов. Для символов Юникода свыше U + 00FFFF. Он будет использовать четыре байта.

Похожие вопросы