Насколько-то это упоминается у Кайта, в главе про materialized views.
Грубо говоря, в общем случае для оптимизатора чем больше информации — тем лучше; хотя вопрос, сумеет ли он ей воспользоваться.
Скажем, индекс — он индекс и есть. Внешний ключ, кроме индекса, несет информацию о том, что в привязываемой таблице есть запись, на которую идет ссылка — соответственно (глупый пример, но ничего лучшего в голову не приходит) outer join окажется эквивалентным более быстрому inner join.
Само собой, стоит также помнить, что ограничения целостности требуют дополнительных ресурсов при изменении данных.