Я прочитал несколько несколько связанных вопросов, но не нашел особенностей, связанных с моим вопросом.Удаление ссылочной целостности на стабильном приложении
Если у меня стабильное приложение, которое не будет изменено, и оно было тщательно протестировано и использовано в дикой природе ... можно было бы рассмотреть возможность устранения ограничений ссылочной целостности/внешнего ключа в схеме базы данных с целью повысить производительность.
Не обсуждая недостатки этого, кто-нибудь знает, какую выгоду вы можете получить? Кто-нибудь сделал это и испытал заметные преимущества в производительности?
Что делать, если внешние ключи отмечены как 'ON DELETE CASCADE'? Теперь они выполняют критическую функцию. Почему вы хотите удалить критическую функциональность для повышения производительности? –
Даже без каскада удаления части приложения могут зависеть от определенных вставок/обновлений/удалений, которые не выполняются на уровне базы данных. –
Если данные ценны, ваше приложение не будет единственным, доступным для базы данных, и оно не будет последним. Вам также необходимо рассмотреть вопрос о ручном доступе к БД (например, сценарии обновления, сценарии импорта, ...). Удаление FK даст вам проблемы в долгосрочной перспективе. –