Paquetes vs Funciones y Procedimientos

A lo largo de mi experiencia en las actividades de Oracle Performance Tuning, que he realizado para empresas, me he encontrado muchas veces con códigos desarrollados con un ineficiente acceso a las tablas así como una pobre estructuración de programas almacenados como lo son los procedimientos y las funciones; a este último problema es al que me enfoco en este post.

Aquí, la recomendación principal, es el englobar a todos los procedimientos y funciones que se tienen en un esquema en uno o más paquetes. ¿Por qué hacer esto? A continuación, presento una pequeña tabla donde se muestran las ventajas y desventajas de los paquetes y por otro lado de las funciones y procedimientos respectivamente:

Ventajas de paquetes

  • Se compilan una sola vez
  • Se pueden crear varios, agrupando las funciones y procedimientos que los componen por área de negocio
  • Se tiene una estructura más clara de programación
  • No se descompila bajo ciertas situaciones, esto lo menciono, porque ya en una ocasión, en 8i, si se me descompilaba un paquete al momento de alterar una tabla que era accesada dentro de él. Sin embargo, al compilarse una vez, ya están compilados todos los programas y procedimientos de él.
  • Es más fácil administrar unos cuantos objetos paquetes que muchos objetos procedimientos y funciones.
  • Dentro de ellos, se pueden manejar variables globales.

Desventajas de procedimientos y funciones almacenados

  • Se compilan, se reserva memoria, etcétera, cada vez que son ejecutados.
  • Al estar por separado, se pueden llegar a ver en un esquema cientos de programas entre procedimientos y funciones.
  • Si se modifica una tabla que es accedida dentro de ellos, se invalida el procedimiento. Al ejecutarse dicho procedimiento o función, se vuelven a realizar todas las tareas de compilación y si está correcto, queda como VALIDO. Esto se tendrá que realizar para todos y cada uno de los programas almacenados que accesan a esa tabla mencionada.

Conclusión

Es mejor crear un paquete con varios procedimientos y funciones que tener muchos procedimientos y funciones dispersos por todos lados, compilandose cada vez que son ejecutados y con muy diversos nombres y dificultando la administración de ellos.

Si la información de este post te ha sido de utilidad o quieres que agregue algo más, deja por favor un comentario, contestaré a la brevedad.

Anuncios

2 Responses to Paquetes vs Funciones y Procedimientos

  1. Me puse a investigar un poco más de lo que me platicaste en la entrevista y encontré tu blog sin querer, gracias por el aporte. Saludos

  2. Orlando Olguín Olvera says:

    Hola Fernando.

    Qué bueno que hayas investigado más. De momento, estamos esperando la resolución del cliente para la contratación.

    Saludos.

    Orlando.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: