Demora al insertar un registro

bmgdba
17 de Mayo del 2006
Hola a todos, tengo el siguiente problema al insertar o borrar registros de una tabla, para insertar se demora cerca de un minuto y para borrar casi 2, la tabla tiene solo 8mil registros lo cual es nada, pero es referencia de muchas otras tablas, es la tabla de usuarios del sistema. Alguien sabe como poder optimizar este insert, tiene todos los indices desde las tablas referenciadas, la aplicacion se cae por timeout.
Ojala se haya entendido
Saludos,

Jor-El
17 de Mayo del 2006
Revisa que todas ( Todas ) las FK tienen su correspondiente indice. Si es así , lo pones y te comento otra cosa y si falta algún indice de una FK, lo creas, pruebas y me cuentas.

bmgdba
17 de Mayo del 2006
Gracias por tu ayuda, la tabla tiene sus fk y las tablas que la referencian tambien tienen los indices creados.

Saludos

Jor-El
17 de Mayo del 2006
Entonces, cuando te pase tienes que mirar si hay alguien que te fuerze los bloqueos,mañana desde el curro te pongo una query para que sepas quien te está bloqueando.

Si te pasa siempre, cuando vayas a hacer el insert, teclea esto en el plus :

ALTER SESSION SET SQL_TRACE = 'TRUE'

Cuando te haya hecho el insert, haces commit y pones esto en el plus :

ALTER SESSION SET SQL_TRACE = 'FALSE'

Esto te traceará la sessión y te dejará un .TRC en algún directorio ( Miralo en V$PARAMETER ).



Ese .TRC le formateas con el TKPROF y ahí puedes ver que es lo que te está jodiendo.

No te lo garantizo, pero es un primer paso. Pon aquí el contenido del trc formateado y se lo enseño a mis DBA's a ver que me dicen

bmgdba
17 de Mayo del 2006
ok, muchas gracias, saco el trace y te lo envio.

a
17 de Mayo del 2006
has traceado el insert desde sqlplus o desde tu aplicación?? si es así, puedes ponernos aquí el resultado?