Должен ли я хранить HTML как nvarchar (MAX) или ntext? - PullRequest
12 голосов
/ 08 августа 2011

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

Какой стандартный тип данных использовать здесь? Я использую SQL Server 2008 R2

Ответы [ 3 ]

28 голосов
/ 08 августа 2011

Тип ntext устарел, равно как и text и image.Microsoft рекомендует заменить их на nvarchar(max), varchar(max) и varbinary(max) соответственно.

Используйте nvarchar(max), следовательно.

Ссылка:

7 голосов
/ 08 августа 2011

Преимущества использования nvarchar (MAX) заключаются в том, что вы можете запускать такие функции, как Replace, Left, Len и т. Д. На nvarchar (MAX), но не на ntext. Локальные переменные ntext также не могут быть созданы в хранимых процедурах, однако nvarchar (MAX) может.

В будущем ntext также может быть признан устаревшим в пользу nvarchar (MAX), см .:

текст, текст и изображение

1 голос
/ 08 августа 2011

Настройка по умолчанию для NVARCHAR (MAX) заключается в сохранении его текстового значения в структуре таблицы, если только текст не превышает 8000 байтов (что составляет 4000 двухбайтовых символов), после чего он ведет себя как NTEXT и сохраняеттекстовое значение в LOB и сохраняет указатель на текст в таблице - что дает гораздо худшую производительность.

Короче говоря, переходите к NVARCHAR(4000), если можно потерять байты длиной более 8 КБ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...