Да, существует некоторая потеря производительности при вставках и обновлениях, так как проверяются все соответствующие ограничения, но вряд ли это вызовет какие-либо проблемы, если вы не пытаетесь вставлять данные с высокой скоростью. Как правило, более важно, чтобы данные поддерживались правильно, а не быстро, поэтому штраф стоит того, чтобы его понести.
Если вы выполните ОБНОВЛЕНИЕ нескольких столбцов, необходимо проверить только ограничения для этих столбцов, и большинство СУБД будут проверять только эти ограничения.
Операторы SELECT, конечно же, вообще не будут замедляться, а в некоторых (возможно, редких) случаях может даже оказаться полезным, если оптимизатор узнает о связи внешнего ключа между двумя объединяемыми таблицами.