Подтвердить что ты не робот

Должен ли я хранить HTML как nvarchar (MAX) или ntext?

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

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

4b9b3361

Ответ 1

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

Используйте nvarchar(max), поэтому.

Ссылка:

Ответ 2

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

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

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

Ответ 3

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

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