Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/10/2011, 16:25
rogly
 
Fecha de Ingreso: octubre-2011
Mensajes: 3
Antigüedad: 13 años, 1 mes
Puntos: 0
Pregunta Ejecutar store procedure en paralelo

Hola Expertos!!

Tengo un Store procedure que tiene sentencias while, el store procedure lee millones de registros e inserta.

Este store procedure es demasiado lento y demora días en terminar de ejecutar; cree índices y ya he revisado mil veces el código.

Ahora he optado por particionar los registros que lee el store procedure, tengo 10 particiones y cada particion la identifico con un numero (una especie de flag).

Este flag lo envio como parametro cuando ejecuto el estore procedure.


Lo que quiero realizar es la llamada del mismo store procedure 10 veces al mismo tiempo, debido que dentro del procedure utiliza algunas tablas, estas tablas las cree temporales para que lea solo los registros de su particion.

Con las siguientes sentencias qué realiza? ejecuta el bloque 1, luego el 2 o los ejecuta todos al mismo tiempo???

begin
sp_prp_15_identifica (0);
sp_prp_15_identifica (1);
sp_prp_15_identifica (2);
sp_prp_15_identifica (3);
sp_prp_15_identifica (4);
sp_prp_15_identifica (5);
sp_prp_15_identifica (6);
sp_prp_15_identifica (7);
sp_prp_15_identifica (8);
sp_prp_15_identifica (9);
end;



Esto en mi misma sesion, lei que tiene que ser en sesiones diferentes cuando se utilizan tablas temporales, debo abrir varias sesiones PL SQL con mi mismo usario y en cada una una linea??? es decir debo tener en una sesion para el flag 1 en la otra sesion para el flag 2.... debería tener 10 sesiones???


Lo que necesito es la forma de cómo ejecutar un mismo procedure 10 veces y cada bloque vaya de forma independiente.

Mucho agradeceré su ayuda.

Gracias