Мне нужно индексировать поле varchar в моей таблице в MS SQL Server 2005, но мне непонятно, как это сделать. Если я попытаюсь добавить некластеризованный индекс в поле, то он говорит: «Столбец« xxxx »в таблице« mytable »имеет тип, который недопустим для использования в качестве ключевого столбца в индексе«Индекс varchar на MS SQL Server 2005
Моя таблица имеет идентификатор автоинкремента int, который задан как первичный ключ в таблице. Если я устанавливаю это свойство как индекс, а затем добавляю свой столбец varchar как «включенный столбец», индекс проходит. Но я не уверен, что это то, что я хочу - я хочу, чтобы иметь возможность искать таблицу на основе только поля varchar, и мое понимание индексов состояло в том, что все индексированные элементы должны были быть предоставлены, чтобы фактически увидеть ускорение в запросе, но я не хочу включать идентификатор int (потому что я не знаю, что это такое, во время данного запроса).
Я пытаюсь сделать это неправильно? Будет ли ID + мой varchar в качестве включенного столбца выполнить то, что я ищу?
+1 Для упоминания функции HashBytes – CSharper 2011-07-12 22:42:59