Насколько я понимаю, тип данных TEXT
никогда не должен использоваться в SQL 2005+. Вместо этого вы должны начать использовать VARCHAR(MAX)
.
См. этот вопрос о VARCHAR(MAX)
против TEXT
.
ОБНОВЛЕНИЕ (за комментарий):
Этот блог хорошо объясняет преимущества. Взято из него:
Но боль от использования типового текста возникает при попытке выполнить запрос против него. Например, группировка по типу текста невозможна.
Еще одним недостатком использования текстовых типов является увеличение дискового ввода-вывода из-за того, что каждая запись теперь указывает на большой двоичный объект (или файл).
В общем, VARCHAR(MAX)
сохраняет данные вместе с записью и дает вам возможность обрабатывать их как другие VARCHAR
типы, например, используя GROUP BY
и строковые функции (LEN
, CHARINDEX
и т. Д.). ).
Для TEXT
вам почти всегда приходится преобразовывать его в VARCHAR
, чтобы использовать против него функции.
Но, возвращаясь к сути вашего вопроса об эффективности, я не думаю, что будет более эффективно использовать TEXT
против VARCHAR(MAX)
. Глядя на эту статью MSDN (поиск "типы данных"), TEXT
устарела и должна быть заменена на VARCHAR (MAX).