Могут ли внешние ключи снизить производительность запросов? - PullRequest
18 голосов
/ 17 ноября 2009

Как я понял из этого поста , есть несколько сценариев, в которых внешние ключи могут улучшить производительность запросов.

Однако я слышал противоположное утверждение о том, что из-за проверок ссылочной целостности внешние ключи могут фактически снизить производительность запросов. При каких условиях (если вообще) это правда?


1) Термин запрос вводит в заблуждение. Меня интересуют все виды штрафов за исполнение.

2) Есть ли у кого-нибудь реальные цифры о негативном влиянии на операторы INSERT, DELETE или UPDATE (я знаю, что это зависит от конкретной системы, но, тем не менее, любые измерения в реальном мире приветствуются)?

Ответы [ 11 ]

0 голосов
/ 17 ноября 2009

Я полагаю, что отмеченный пост указал, что размещение индекса для полей FK улучшило производительность, а не просто что отношение FK улучшило производительность. Существование FK в таблице не должно влиять на запрос SELECT, если только не выполняются операции JOIN, и в этот момент отношение FK И индекс в полях FK повысят производительность.

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