Ответ 1
Тип ntext
устарел, как и text
и image
. Microsoft рекомендует заменить их на nvarchar(max)
, varchar(max)
и varbinary(max)
соответственно.
Используйте nvarchar(max)
, поэтому.
Ссылка:
Я не знаю, есть ли ограничение на количество символов, если я выберу nvarchar (MAX), и я не уверен, сколько символов мне понадобится в любом случае.
Какой стандартный тип данных использовать здесь? Я использую SQL Server 2008 R2
Тип ntext
устарел, как и text
и image
. Microsoft рекомендует заменить их на nvarchar(max)
, varchar(max)
и varbinary(max)
соответственно.
Используйте nvarchar(max)
, поэтому.
Ссылка:
Преимущества использования nvarchar (MAX) заключаются в том, что вы можете запускать такие функции, как Replace, Left, Len и т.д. на nvarchar (MAX), но не на ntext. ntext локальные переменные также не могут быть созданы в хранимых процедурах, однако nvarchar (MAX) может.
ntext также может быть устаревшим в будущем в пользу nvarchar (MAX):
Значение по умолчанию для NVARCHAR (MAX) - это сохранение его текстового значения в структуре таблицы, если текст не превышает 8000 байт (это 4000 двухбайтовых символов), после чего он ведет себя как NTEXT и сохраняет текстовое значение в LOB и сохраняет указатель на текст в таблице, что дает гораздо худшую производительность.
Короче говоря, перейдите к NVARCHAR(4000)
, если он в порядке, чтобы потерять байты длиной более 8K.