Comunidad de diseño web y desarrollo en internet online

Procedimientos almacenados o querys desde PHP?

Citar            
MensajeEscrito el 09 Feb 2011 02:33 pm
Hola. Esta es una pregunta mas "teórica".
He leido que los procedimientos almacenado (SP desde ahora) tienen un mejor rendimiento y seguridad en comparación a las querys que se crean en PHP (o en cualquier otro lenguaje de servidor).
Se que una desventaja de usar SP es si hay que cambiar de motor de base de datos pero sacando este tema...... En que situaciones se recomienda usar SP.
Actualmente estoy trabajando con Zend Framework y por ejemplo la seguridad en cuanto a SQL Injection esta resuelta internamente desde Zend.
Cualquier opinión al respecto sera bienvenida.

Saludos.

Por GustavoV

Claber

136 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 09 Feb 2011 03:31 pm

Código MySQL :

CALL miSP(variable);


eso es todo, ejecutas el sql desde php, claroque antes debes crear el procedimiento ¿sabes comohacer los procedimientosalmacenados?

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 09 Feb 2011 03:40 pm
En realidad mi duda es cuando es mejor usar procedimientos almacenados y cuando querys desde PHP, no como hacerlos o llamarlos.
Por darte un ejemplo tonto, si tengo que un query que actualiza solo un dato de una tabla no creo que valga la pena hacer un SP..... bah creo...

Es para tener una referencia en que momentos (capaz que en todo momento, por eso la pregunta) es conveniente o da muchos beneficios crear los SP y llamarlos desde PHP

Saludos

Por GustavoV

Claber

136 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 09 Feb 2011 03:48 pm
puedes llamar SP desde linea de comandos, por tanto puedes automatizar tareas con SP sin pasar por php, en ves de hacer un query con muchos subquerys haces un SP en el cual usas variables, ademas puedes lanzar SP desde triggers, etc...


me acabas de recordar que aun no termino un tutorial al respecto...

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 09 Feb 2011 07:23 pm
El procedimiento es recomendable cuando el resultado que necesitas depende de muchas consultas.
por ejemplo:
query en tabla1, luego luego haces un insert (como un log) y este insert dispara un trigger y luego cruzas esa información generada por el trigger con la de la tabla1.

Como puedes ver ocurren muchas acciones para un solo resultado, todo eso lo haces en un solo SP y luego la llamas desde el lenguaje, porque hacerlo directamente desde php seria mas tedioso y consumiría mas recursos!

Por jpcw

Claber

1715 de clabLevel

1 tutorial

Genero:Masculino  

AlgoritmicBrainDesigner

chrome
Citar            
MensajeEscrito el 09 Feb 2011 11:32 pm
Así es, deja a los SP la lógica del manejo de los datos cuando esto necesite varias consultas.
Es útil también para proyectos grandes, donde no solo un lenguaje necesita realizar operaciones en la base de datos.

Por citar un ejemplo, si una base de datos necesita ser manipulada desde varios clientes por X o Y razón, digamos, un cliente web escrito PHP y un programa de escritorio escrito en Delphi, es más eficiente programar un solo SP, y que tanto PHP como Delphi lo puedan utilizar.

Espero haberme explicado.

Por sahib.alejandro

5 de clabLevel



 

Programador web compulsivo

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.