cr1gger
@cr1gger
Все дороги ведут в Рим — встретимся в Риме!

Как добавить индекс с nvarchar(max)?

Есть существующая таблица и только один индекс по ID. Запрос:
CREATE INDEX index_test ON [db_name].[dbo].[Users] (URL);

Ошибка:
Column 'URL' in table 'db_name.dbo.Users' is of a type that is invalid for use as a key column in an index.

Тип колонки URL: nvarchar(max) not null
Как добавить в уже существующую базу нужные индексы? И можно ли то сделать из уже существующих таблиц, MEMORY_OPTIMIZED?
  • Вопрос задан
  • 116 просмотров
Решения вопроса 1
tsklab
@tsklab Куратор тега SQL Server
Здесь отвечаю на вопросы.
nvarchar(max) нельзя включать в индекс. Документация.
Но:
- размер URL имеет ограничения ( у разных браузеров — разные), можно не использовать nvarchar(max);
- How create index on nvarchar(max) datatype?

В q1086496:
URL NVARCHAR(MAX) NOT NULL,
URLIndex AS HASHBYTES('SHA',URL), -- можно добавить в индекс
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы