Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Duda con los procedimientos de almacenado.

Estas en el tema de Duda con los procedimientos de almacenado. en el foro de Mysql en Foros del Web. hola estaba mirando unos post de este foro donde dicen que no es bueno utilizar sentencias SELECT UPDATE o INSERT en estos sp yo pensaba ...
  #1 (permalink)  
Antiguo 11/11/2010, 14:25
Avatar de RIVERMILLOS  
Fecha de Ingreso: marzo-2010
Mensajes: 1.336
Antigüedad: 14 años, 2 meses
Puntos: 15
Duda con los procedimientos de almacenado.

hola estaba mirando unos post de este foro donde dicen que no es bueno utilizar sentencias SELECT UPDATE o INSERT en estos sp yo pensaba que estos sp se podian usar para dar una respuesta mas rapida desde el servidor al cliente, quiciera saber de que forma se hace en una base de datos para que responda rapido a las consultas SELECT , suponiendo que desde php se envian sentencia.


saludos
  #2 (permalink)  
Antiguo 11/11/2010, 14:57
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Duda con los procedimientos de almacenado.

Vamos a hacer una aclaración: No es que no sea bueno hacer un SP que use sentencias DML como INSERT, UPDATE o DELETE. El asunto es que hacer un SP que sólo contenga una única sentencia como esa es un desperdicio de la capacidad de los SP y además carece de mucho sentido, porque no ahorra nada en cuanto a recursos de la base de datos.
Si, en cambio, usas un SP para ejecutar un conjunto de operaciones DML, y resolver una situación más compleja, o realizar diferentes tareas de acuerdo a el resultado de ciertas consultas, la cosa cambia. Allí sí se trata de aprovechar la capacidad de los SP.

Ahora bien, como excepción, tiene sentido usar un SP para ejecutar un simple SELECT si lo estás usando para aumentar la seguridad de los procesos, ya que los SP son esencialmente invulnerables a el sql-injection, y además requieren un bajo nivel de permisos para realizar tareas que normalmente requerirían niveles más altos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 11/11/2010, 15:10
Avatar de RIVERMILLOS  
Fecha de Ingreso: marzo-2010
Mensajes: 1.336
Antigüedad: 14 años, 2 meses
Puntos: 15
Respuesta: Duda con los procedimientos de almacenado.

Muchas gracias me aclaraste una duda grande ademas que pensaba que se podia para que una consulta respondiera mas rapido, pero entonces como se puede hacer para que una consulta select responda rapido de que depende esto?

saludos
  #4 (permalink)  
Antiguo 11/11/2010, 16:21
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 4 meses
Puntos: 447
Respuesta: Duda con los procedimientos de almacenado.

Cita:
como se puede hacer para que una consulta select responda rapido de que depende esto?
Buenas Tardes RIVERMILLOS, para mejorar el tiempo de respuesta de un select en lo particular me han servido algunas de las siguientes prácticas

1. Uso de indices
2. Evitar hacer select * y listar los campos que quieras mostrar
3. Utilizar JOIN para hacer la unión entre las tablas en lugar From Tabla1, Tabla2 where Tabla1.Id. = Tabla2.Id
4. Evitar en la medida de lo posible sentencias IN y en su defecto utilizar EXISTS.
5. Evita en lo posible el uso de búsquedas LIKE
6. Evitar en la medida de lo posible comparaciones <> o != y tratar de utilizar comparaciones =, >, >=, <, <=

Saludos
Leo.

Etiquetas: procedimiento, almacenar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:18.