Hay una función/restricción que Foreign Keys aporta a su sistema, que no se ha mencionado hasta ahora. Esa es la lógica de compromiso/transacción (así es como lo llamo de todos modos). Con Foreign Keys habilitada, todas las filas para una actualización, en todas las tablas afectadas, necesitan estar allí para que la confirmación funcione (no arrojar un error de SQL que indique que se han violado las Restricciones de clave externa).
Si tiene un cuerpo de código, que funciona y "juega rápido y suelto", con commits/transacciones. Entonces podría estar en una solución, para hacer que las cosas funcionen con FK en el esquema.
Además, Oracle al menos, le permite desactivar restricciones (no solo colocar/eliminar). Entonces puedes encenderlos/apagarlos fácilmente. Es útil, cuando quiere hacer algunas operaciones masivas ya sea sin la sobrecarga de las restricciones, o para hacer alguna "cirugía" en los datos que tiene estados intermedios que fallarían las restricciones.
"no relacionada con la velocidad de ejecución" no es del todo exacto para las inserciones (sé que lo sabes, pero Tuan tal vez no) – SquareCog
THX - Se me llena la respuesta un poco, de una manera que debería terminar en el mismo lugar. – dkretz
buen argumento sobre la inserción. tengo una buena vista de la estructura. como dije integrety no es problema. necesito velocidad bruta –