Как обеспечить уникальность первых 35 символов столбца varchar (45) в SQL Server - PullRequest
2 голосов
/ 15 июня 2011

У меня есть таблица со статьями и около 150.000 записей, в этой таблице у меня есть имя столбца типа varchar (45).Теперь я хочу сделать индекс, ограничения или триггер для той таблицы, которая будет сохранять уникальное имя столбца слева от 35 символов этого же столбца.

Какой будет правильный способ сделать это, я боюсь, что я потеряю производительность этой большой таблицы, если я использую неправильный метод.

1 Ответ

12 голосов
/ 15 июня 2011

Создать вычисляемый столбец:

alter table YourTable add left35 as substring(col1, 1, 35)

Затем вы можете создать уникальный индекс для этого столбца:

create unique index IX_YourTable_left35 on YourTable(left35)

Это будет означать уникальность левых 35 символов col1.

...