Ir al contenido principal

Entradas

Mostrando entradas de 2018

Mejorar el rendimiento de una actualización con Bulk Collect

Hace unos días nos llegó una solicitud para mejorar el rendimiento de una actualización que corre sobre una tabla relativamente grande, de alrededor de 350 Gb, particionada pero esta actualización en específico no está optimizada para hacer uso de la estructura ni los índices existentes. Usualmente iniciamos por hacer una tabla intermedia de manera temporal, sobre la que corre un cursor que va lanzando actualizaciones. Se le rebajó algo de tiempo pero recordé que se puede optimizar este tipo de operaciones utilizando una operación que hace uso de las colecciones conocida como bulk collect. Para utilizar el bulk collect, se necesita primero crear una variable de tipo tabla donde se meterán los datos llave a utilizar para la actualización. Bulk collect tiene una opción llamada limit, que limita la cantidad de registros que se guardan en la colección para no acabarnos la memoria de programa en caso de ser millones de registros. Después de esto, se utiliza una operación...

Aprender PL/SQL

Aprender PL/SQL Muchos me preguntan cómo pueden empezar a aprender a programar en Oracle. Por lo general recomiendo una pág ina que conocí en el tiempo que trabajé en Tata , creada por ex-empleados y apoyada por la compañía para expandir el conocimiento. Aunque es 100% gratis está en inglés, así que a practicar y aprender! La página se llama TutorialsPoint y el curso de pl/sql está en esta liga  curso plsql . También tienen curso en video (en inglés, por supuesto) video curso de plsql (inglés) . En teoría tienen un laboratorio en línea para poder practicar, sin embargo la cuenta estaba bloqueada la última vez que intenté utilizarlo laboratorio plsql . Por último, dejo también una liga para descargar directamente de Oracle, Developer Day, una máquina virtual con un Oracle instalado y listo para jugar con él, incluyendo SQL Developer y hasta APEX, Oracle Developer Day ¡Espero les sean de utilidad! ¡Feliz aprendizaje!