*************************** Execution Time (secs) --------------------- Total regs:250.000 FOR LOOP: 130 FORALL: 5 ***************************El tiempo total para insertar 250000 registros usando insert-cursor es de 130 segundos, en cambio, el bulk insert se demoró solo 5 segundos. Observación: El uso de colecciones consume memoria del servidor así que hay que jugar entre el uso de recursos y el tiempo de ejecución
jueves, 2 de abril de 2009
PL/SQL: Performance: Operaciones Bulk
El lenguaje PL/SQL es muy poderoso pero creo que usamos un porcentaje muy bajo de las capacidades que tiene. Por ejemplo, el uso de bulk en sentencias SQL es muy poco aprovechado. Adjunto un ejemplo donde se nota la diferencia entre el uso de un cursor normal y el uso del bulk. Extrapolando, si el cursor se demora 2 minutos en ejecutar, el bulk puede demorarse hasta 5 segundos aproximadamente. Ver ejemplo forall_insert.txt
La salida de la ejecución de este script es: forall_insert.out.txt
El resultado de la ejecución es:
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario