Ну, вы можете определить индекс для столбца nvarchar
, который превышает максимальную длину, но не для nvarchar(max)
.
Если вы попробуете столбец слишком большого размера, вы получите предупреждение как это:
Внимание! Максимальная длина ключа для некластеризованного индекса составляет 1700 байт. Индекс 'idx_t_x' имеет максимальную длину 8000 байт. Для некоторой комбинации больших значений операция вставки / обновления завершится неудачей.
Таким образом, операции вставки и обновления будут прерываться, если в записи более 900 или 1700 байт, в зависимости от версии SQL Сервер:
SQL Сервер 2016 и Azure SQL В базе данных увеличен максимальный размер ключей индекса с некластеризованными индексами. Новый максимальный размер ключа для некластеризованных индексов составляет 1700 байт. Максимальный размер ключа для кластеризованных индексов остается 900 байтов.
Таким образом, эффективный ответ - «нет». Если вы храните текст в столбце, вам может потребоваться полнотекстовый индекс. Если вы хотите предотвратить дублирование, вы можете рассмотреть различные формы хеширования.