Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   insert o update en store procedure ¿para que? (https://www.clubdelphi.com/foros/showthread.php?t=52302)

erickperez6 16-01-2008 19:56:12

insert o update en store procedure ¿para que?
 
Me he preguntado si realmente hay alguna diferencia en cuestiones de rapidez en hacer insert o update dentro de un store procedure como este sin importar que tipo de base de datos relacional sea:

insert into empleados(nombres, apellidos) values ('jose', 'perez')

En donde los valores a pasarle (en este caso al Insert) ya vienen determinado desde la aplicacion, es decir, que no provienen de una consulta previa en donde los valores se desconocen.

Caral 16-01-2008 20:00:41

Hola
En teoria se supone que es para no hacerlo tan grande por codigo, cada vez, se supone que lo que hace es agilizar el tiempo de programacion, yo particularmente pienso que no agiliza para nada el programa.
Por cierto, no lo uso.
Saludos

jachguate 16-01-2008 20:46:18

Si hay una pequeña diferencia.

Al estar el insert/update dentro de un stored procedure, este normalmente ya estará verificado y hasta "compilado", con lo que el motor ahorrará el tiempo que toma realizar el análisis sintáctico de la sentencia y la creación de un plan de ejecución (si lo hay).

Normalmente este tiempo no es mas que unos cuantos milisegundos, pero si hablamos de miles o millones de inserciones/actualizaciones, claro que puede hacer la diferencia, no solo por el menor tiempo que tomará cada instrucción, sino por la menor carga que mantendrá el servidor (que la combinación de estos factores puede ser exponencial)

Todo depende siempre del entorno y en la arena de las bases de datos no hay nada que aplique para todas por igual.

Por ejemplo, en algunas aplicaciones se puede logar este efecto, manteniendo preparada la consulta del lado del cliente, y variando únicamente los parámetros.

Algunos motores mantienen un cache de consultas preparadas, lo que hace mas ágil el proceso cuando una misma consulta se lanza desde diversos clientes. En esto, es muy interesante el funcionamiento de Oracle, que es simple, tanto que hasta es bastante tonto, pero cuando lo conoces, podes sacarle el jugo muy bien.

Espero haber aclarado algo, y no confundir con esto. :)

Hasta luego.

;)

ContraVeneno 16-01-2008 23:45:57

Otra ventaja podría ser, que en caso de alguna modificación o actualización de la base de datos, no tendrías que recompilar tu aplicación, si no simplemente actualizar el procedimiento almacenado.


La franja horaria es GMT +2. Ahora son las 17:06:31.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi