Procedimientos almacenados de DB2

Los procedimientos almacenados contienen construcciones procedimentales con sentencias SQL. Los procedimientos almacenados se almacenan en las bases de datos DB2 y se ejecutan en los servidores DB2. Una aplicación puede llamar a un procedimiento almacenado por su nombre y ejecutar las sentencias SQL que estén incluidas en él. La aplicación puede estar en el cliente, mientras el procedimiento almacenado ejecuta su lógica en el servidor. A los procedimientos almacenados y a las funciones definidas por el usuario a veces se les llama colectivamente rutinas.

Las aplicaciones que emplean procedimientos almacenados tienen las siguientes ventajas:

Trafico de red reducido
Con el uso de un procedimiento almacenado se reduce el tráfico de la red y se mejora el rendimiento global de la aplicación, ya que dichos procedimientos pueden ejecutar procesos intermedios en el servidor de base de datos, sin que haya que transmitir datos innecesarios a través de la red. El procedimiento almacenado transmite solamente los registros necesarios por la aplicación de cliente.

Las sentencias SQL que ejecuta una aplicación de una en una generalmente atraviesan la red dos veces. Un procedimiento almacenado puede agrupar sentencias SQL, de manera que cada grupo de sentencias SQL atraviesa la red una vez. Cuantas más sentencias SQL se agrupen en un procedimiento almacenado, más podrá reducirse el tráfico de la red y el tiempo de retención de bloqueos de la base de datos. Al reducirse el tráfico de la red y disminuir el tiempo de retención de bloqueos de la base de datos, se mejora el rendimiento global de la red y se producen menos problemas de contienda por bloqueo.

Las aplicaciones que procesan grandes cantidades de datos generados por SQL, pero que solo muestran parte de los datos al usuario, pueden hacer que el tráfico de la red sea excesivo, porque todos los datos se devuelven al cliente antes del proceso final. Un procedimiento almacenado puede llevar a cabo el proceso en el servidor y transmitir únicamente los datos necesarios al cliente, lo que reduce la utilización de la red.

Más prestaciones de hardware y software
Las aplicaciones que emplean procedimientos almacenados pueden acceder a más memoria y espacio en disco del sistema servidor. Estas aplicaciones tienen asimismo acceso al software que solo está instalado en el servidor de base de datos. Podrá distribuir la lógica comercial ejecutable entre sistemas que tengan suficiente memoria y procesadores.
Más seguridad
El administrador de la base de datos (DBA) puede mejorar la seguridad incluyendo privilegios de base de datos junto con los procedimientos almacenados que utilizan SQL estático. La persona que cree el procedimiento almacenado deberá tener los privilegios de base de datos que se necesiten para el procedimiento almacenado. Los usuarios de las aplicaciones de cliente que llaman al procedimiento almacenado no necesitan esos privilegios, lo que permite reducir el número de usuarios que los necesitan.
Menos coste de desarrollo y más fiabilidad
En un entorno de aplicaciones de base de datos, muchas tareas son repetitivas. Por ejemplo, son repetitivas las tareas que devuelven un conjunto de datos fijo o que realizan el mismo conjunto de peticiones múltiples a una base de datos. Un procedimiento almacenado ofrece una forma eficaz de ejecutar tareas repetitivas.
Centralizar la seguridad, la administración y el mantenimiento para las rutinas comunes
La gestión de la lógica compartida en un solo lugar del servidor simplifica las tareas de seguridad, administración y mantenimiento. Las aplicaciones del cliente pueden llamar a los procedimientos almacenados que ejecutan consultas SQL con muy poco o ningún proceso adicional. Los cambios realizados en un procedimiento almacenado están inmediatamente disponibles para todas las aplicaciones de cliente que lo utilizan.

Referencia relacionada
Autorizaciones para procedimientos almacenados y funciones definidas por el usuario de DB2 UDB.

Condiciones de uso | Comentarios
(C) Copyright IBM Corporation 2000, 2005. Reservados todos los derechos.