Насколько внешние ключи любят ресурсы?
Делать внешние ключи обязательно.
И уникальные индексы проставлять. Ещё бы check constraint ставить, да у вас глупый mysql в тегах, он такое не умеет.
Это всё ваши помощники. Они помогают искать ошибки и отлично мешают делать глупости.
И выбирать подходящие типы данных. Ну и раз у вас mysql - то всенепременно проверить sql_mode и выставить его максимально агрессивным. В 5.7 стало гораздо лучше, до этого из коробки уж слишком много позволял делать глупостей.
Дорастёте до террабайтной базы как авито - тогда можете начинать думать, а сколько денег нам стоит целостность внешних ключей или дешевле будет периодически проверять целостность скриптами и озадачивать разработчиков. О, кстати, вот запись доклада с pgday15, на 27 минуте как раз начинается обсуждение вопроса из зала "ребята, а вы в своём уме отключать FK?"
Решил начать их использовать по полной
Помните поговорку про того, кто лоб расшибёт?
Использовать нужно не "по полной", а "по необходимости".
Любой индекс замедляет вставку (не так уж сильно, но на млн. записей - ощутимо), и тратит не столько диск (это фигня), сколько память (что тоже недорого, но просто её нужно будет докупить).
Зато индексы нередко в 10-ки/100-ни раз ускоряют выборку.
Соответственно, если у вас есть регулярная выборка типа "все заказы пользователя", то по "пользователю" лучше (надо) индекс создать.
Заметьте,  я описать только индексы, но FK - это не только индексы, это и контроль целостности, что тоже ресурсы (польза тоже бывает, но совсем не всегда и в простых приложениях типа инет-магазина скорее бессмысленна).