Некластерный индекс уникальный или нет

Объясните пожалуйста, Есть ли смысл ставить некластерный индекс для столбца FK, в котором могут повторяться значения? И если да, то когда есть смысл ставить некластерный индекс(в плане количества строк), а когда лучше оставить без индекса?


Ответы (1 шт):

Автор решения: Mike

Если строк мало то оптимизатор индекс не выберет для работы, с другой стороны если строк мало, то индекс будет занимать копейки места и его наличие будет не заметно. С другой стороны, когда количество строк со временем вырастет, все уже забудут, что индекса нет и начнутся проблемы.

А от того колонка FK или нет, необходимость индекса никак не зависит. Индекс нужен что бы быстро искать. Перед созданием индекса задайте себе вопрос, как часто происходит поиск по данному полю явно или не явно (например удаление записей в таблице на которую ссылается FK захочет проверить, не осталось ли записей с удаляемым значением в таблице и индекс ему бы в этом помог). Так же стоит обратить внимание, что если между двумя таблицами есть связь, потребовавшая создания FK, то очень вероятно, что эти таблицы будут в запросах объединять JOIN и тогда наличие индекса будет очень полезно.

→ Ссылка