Назад | Перейти на главную страницу

Нужно ли мне индексировать столбец, который является FK, для PK в другой таблице в sql server 2008?

У меня есть таблица с довольно тяжелыми запросами. Столбец, к которому я присоединяюсь, представляет собой FK для PK в другой таблице. Этот столбец, похоже, занимает время запроса при сканировании таблицы, что наводит меня на мысль, что SQL Server не сможет использовать индекс в удаленной таблице и ему потребуется собственный индекс в моей исходной таблице.

Я почти уверен, что прав, но было бы здорово, если бы гений SQL Server 2008 смог вмешаться в это.

Вы необходимость индексировать столбцы внешнего ключа? Нет, абсолютно нет.

Должен вы индексируете столбцы внешнего ключа? Почти наверняка. Как вы обнаружили, столбцы внешнего ключа часто используются в операциях SELECT и JOIN, и, если они не проиндексированы, они действительно могут убить вашу производительность.

Вы обязательно должны проиндексировать свой столбец внешнего ключа! Некоторые утверждали, что это должно быть делается автоматически на SQL Server.