Прежде всего - почему нет первичного ключа ?? Если у него нет первичного ключа, это не таблица - просто добавьте его! Это поможет на многих уровнях ....
Во-вторых: даже если у вас есть индекс, оптимизатор запросов SQL Server всегда будет смотреть на ваш запрос, чтобы решить, имеет ли смысл использовать индекс (или нет). Если вы выберете все столбцы и большую часть строк, то использование индекса будет бессмысленным.
Итак, чего следует избегать:
SELECT * FROM dbo.YourTable
почти гарантировано не для использования любых индексов
- если в вашем запросе нет хорошего предложения
WHERE
- если ваш индекс находится в столбце, который на самом деле не выбирает небольшой процент данных; индекс по логическому столбцу или столбцу
Gender
, содержащему не более трех разных значений, вообще не помогает
Не зная намного больше о структуре вашей таблицы, данных, содержащихся в этих таблицах, количестве строк и типах запросов, которые вы выполняете, никто не может действительно ответить на ваш вопрос - он слишком широк ... ..
Обновление: , если вы хотите создать кластеризованный индекс для таблицы, которая отличается от вашего первичного ключа, выполните следующие действия:
1) Сначала создайте свой стол
2) Затем откройте дизайнер индексов - создайте новый кластеризованный индекс в столбце по вашему выбору. Имейте в виду - это не первичный ключ !
3) После этого вы можете поместить свой первичный ключ в столбец ID
- он создаст индекс, но этот индекс не кластеризован !