ForeignKey и получение производительности - PullRequest
0 голосов
/ 05 января 2012

Давайте рассмотрим следующий сценарий: у меня есть «главная таблица» с таблицей «подробности». Подробная таблица имеет только внешний ключ, указывающий на первичный (не первичный ключ). Это схема, которую NHibernate генерирует для меня, когда я сопоставляю простую сумку. У меня вопрос: достаточно ли самого FK в таблице сведений для выполнения запросов без полного сканирования? В другом мире, имея или не имея FK, определенный в таблице деталей, меняет ли производительность? Думаю, да, но я не знаю, прав ли я, или где найти источник, чтобы объяснить это.

1 Ответ

1 голос
/ 05 января 2012

В обоих случаях (FK или без FK) вам придется создать индекс для поля FK в таблице сведений, чтобы предотвратить сканирование таблицы. На сервере sql при создании ограничения FK индекс не создается автоматически.

См. MSDN , "Индексирование ограничений FOREIGN KEY".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...