Ver Mensaje Individual
  #4 (permalink)  
Antiguo 25/05/2010, 08:31
Avatar de huesos52
huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Manejo de claves foraneas en sistemas transaccionales

Webness... Para determinar si el query es pesado o no, se tendrían que hacer pruebas.. pero creeme, que una solución para mejorar el rendimiento no es quitar la integridad referencial de las tablas.

Lo que puedes probar, es tener los constraints declarados como deferred not deferreable
Cita:
DEFERRABLE
NOT DEFERRABLE
This controls whether the constraint can be deferred. A constraint that is not deferrable will be checked immediately after every command. Checking of constraints that are deferrable can be postponed until the end of the transaction (using the SET CONSTRAINTS command). NOT DEFERRABLE is the default. Only foreign key constraints currently accept this clause. All other constraint types are not deferrable.
de: http://www.postgresql.org/docs/8.4/i...eatetable.html

Donde lo que se hace, es dentro de una transacción, evitar la consulta de constraints agilizando el proceso y al momento de hacer commit sobre la transacción se hacen todas las validaciones.

Te recomiendo mires a fondo el tema que puede ser una buena alternativa a tu problema.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming