Я объявил столбец типа NVARCHAR(MAX)
в SQL Server 2008, какими были бы его максимальные символы с MAX как длина?Каковы максимальные символы для NVARCHAR (MAX)?
ответ
Максимальный размер для столбца типа NVARCHAR(MAX)
составляет 2 ГБ памяти.
С NVARCHAR
использует 2 байта на символ, это ок. 1 миллиард символов.
Leo Tolstoj's Война и мир - это 1'440 страничная книга, содержащая около 600 000 слов - так что может быть 6 миллионов символов - хорошо округлено. Таким образом, вы можете хранить около 166 копий всей книги «Война и мир» в каждой колонке NVARCHAR(MAX)
.
Это достаточно места для ваших нужд? :-)
И подумать, я думал, что майоры Comp Sci, которые взяли эту русскую литературу и должны были прочитать «Война и мир», зря теряли время – cost
Просто выбор нит. Для большинства символов NVARCHAR использует 2 байта. Для символов Юникода над U + 00FFFF. Он будет использовать четыре байта. –
отличный пример! действительно было полезно понять, что я могу сделать с 2 ГБ памяти. – alamin
По умолчанию значения nvarchar (MAX) хранятся точно так же, как значения nvarchar (4000), если фактическая длина не превышает 4000 символов; в этом случае данные в строке заменяются указателем на одну или несколько отдельных страниц, на которых хранятся данные.
Если вы ожидаете, что данные могут превышать 4000 символов, nvarchar (MAX) определенно является рекомендуемым выбором.
Это также НЕ рекомендуется, если ваши данные никогда не будут превышать 4000 символов, поскольку есть проблемы с индексацией. – HLGEM
NVARCHAR [(п | макс)]
строка переменной длины Unicode данных. n определяет длину строки и может быть значением от 1 до 4000. max указывает, что максимальный размер хранилища составляет 2^31-1 байта (2 ГБ). Размер хранения в байтах, в два раза фактическая длина введенных данных + 2 байта
Я думаю, что на самом деле NVARCHAR (MAX) может хранить около 1070000000 символов.
Можете ли вы объяснить, где вы получаете это число, и что вы подразумеваете под «точно»? (т. е. вы говорите, что это не жесткий предел, но с большим количеством символов могут возникнуть проблемы? Какие проблемы? Почему?) –
Я не уверен, но я думаю, если nvarchar использует двойное пространство, чем varchar для хранения char, и максимальное количество памяти, которое может использоваться nvarchar (MAX) для хранения символов, составляет 2^31-1 => 2147483647, тогда 2147483647/2 равно 1073741824. Точно я имею в виду, что это не точное число. –
@Francisco. Я думаю, вы имеете в виду приблизительно, а не точно. –
- 1. nvarchar (max) vs NText
- 2. Последствия nvarchar (50) vs nvarchar (max)
- 3. ограничение размера для nvarchar (max)
- 4. NVARCHAR (MAX) для коротких строк
- 5. SQL Server 2014 Hashbytes из nvarchar (max) результат nvarchar (max)
- 6. NVARCHAR (MAX) & Хранимые процедуры
- 7. Преобразование nvarchar (4000) в nvarchar (max)
- 8. Max NVARCHAR length
- 9. При использовании NVARCHAR (MAX)
- 10. SqlServer и nvarchar (max)
- 11. Поиск поля nvarchar (max)
- 12. Идентификатор ресурса nvarchar (MAX)
- 13. Код Первые типы данных и максимальные символы
- 14. nvarchar concatenation/index/nvarchar (max) необъяснимое поведение
- 15. Ошибка FreeTDS MSSQL nvarchar (max)
- 16. Разница между Varchar (max) и nvarchar (max)
- 17. Насколько велика величина nvarchar (max) для ADO?
- 18. Каковы максимальные файлы для каталога в EXT4?
- 19. Каковы максимальные соединения для базы данных sqlite3
- 20. Каковы максимальные строки для таблицы MySQL
- 21. NSTextField устанавливает максимальные символы
- 22. Каковы максимальные объекты, поддерживаемые LINQ
- 23. Конвертировать nvarchar (MAX) в datetime
- 24. struts2: Каковы максимальные данные сеанса?
- 25. Каковы максимальные адаптеры входящего канала Spring?
- 26. Сложность колонки размер от NVARCHAR (п) к NVARCHAR (MAX)
- 27. Максимальные символы/строки для HTML-страницы
- 28. Является ли nvarchar (max) менее результативным, чем nvarchar (100)?
- 29. Обрезать nvarchar (max) до nvarchar (n) с эллипсами
- 30. Как изменить колонку от nvarchar (max) до nvarchar (50)
Возможный дубликат [Максимальное количество символов, которое будет удерживать nvarchar (MAX)?] (Https://stackoverflow.com/questions/4270049/what-is-the-maximum-number-of-characters- что-nvarcharmax-will-hold) –