Для MySQL 5.7 он определенно может ускорить запросы, включающие множественные объединения!
Я использовал 'объяснение', чтобы понять мой запрос, и обнаружил, что я соединяю 4-5 таблиц - где ключи вообще не использовались. Я ничего не сделал, кроме добавления внешнего ключа к этим таблицам, и в результате время загрузки сократилось на 90%. Запросы, которые заняли> 5 с, теперь занимают 500 мс или меньше.
Это ОГРОМНОЕ улучшение!
И, как уже упоминалось, вы получаете дополнительный бонус за обеспечение целостности отношений.
Помимо этого, обеспечение ссылочной целостности также имеет свои преимущества в производительности. Он имеет эффект второго порядка, гарантирующий, что таблицы, имеющие внешний ключ, «соответствуют» внешней таблице. Скажем, у вас есть таблица пользователей и таблица комментариев, и вы делаете некоторую статистику по таблице комментариев. Вероятно, если вы сильно удаляете пользователя, вам также не нужны его комментарии.