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