usar proc. almacenados como interfaz para base de datos

Franco Catrin L. fcatrin en tuxpan.com
Mie Nov 28 10:22:15 CLST 2007


El mar, 27-11-2007 a las 07:47 -0800, rodrigo ahumada escribió:
> hola
> 
> tengo una consulta de opinion
> 
> resulta que en el lugar donde trabajo, se utiliza base de datos de una manera bien especial, como log de eventos. Las cosas que se le piden a la base de datos estan relativa% bien definidas, pero se trabaja con ella usando sentencias sql cocinadas a mano dentro de los programas.
> 
> mi pregunta es:
> 
> es buena idea hacer uso de procedimientos almacenados como interfaz para la base de datos?
> 
> es decir, buscar todas las sentencias sql que se usan el los programas, y asigna un procedimiento
> almacenado que las ejecute.
> 
> las ventajas que pareciera tener serian:
> - en los programas en vez de usar " insert into A, B, C values (a, b, c)", usaria "exec inserta a, b, c", es menos que escribir (aunque igual hay que fijarse en los formatos de los datos)
> 
> - permitiria utilizar otros motores de base de datos, o otros esquemas de tablas...


Si es una traducción directa de los SQL del código a procedimientos
almacenados no va a ser de mucho aporte.

Aporte es cuando el procedimiento es capaz de encapsular operaciones
complejas que involucran tener conocimiento de modelos complejos o
externos. Y asi los sacas de tu aplicación.

Otro aporte valioso es cuando un solo procedimiento almacenado te evita
todos los roundtrips entre tu aplicación y la base de datos.  Uno de los
factores que hace lentas las aplicaciones son las latencias de I/O.

--
Franco



Más información sobre la lista de distribución Linux