В SQL Server 2005
и более поздних версиях NVARCHAR(MAX)
- лучший способ хранить строки длиной более 4000
символов.
Это единственный способ, рекомендуемый для SQL Server 2005
и выше, хотя он по-прежнему поддерживает TEXT
столбцы для обратной совместимости.
Обратите внимание, что вы не можете создать индекс для столбца NVARCHAR(MAX)
.
Чтобы использовать индекс, создайте вычисляемый столбец и используйте его при поиске по индексу. Может служить эффективным грубым фильтром:
CREATE TABLE foo (id INT NOT NULL, mytext NVARCHAR(MAX) NOT NULL, mytext_index AS CAST(mytext AS NVARCHAR(450))
CREATE INDEX ix_foo_mytext (mytext_index)
SELECT *
FROM mytext
WHERE mytext_index LIKE 'L%'