Foros del Web » Programando para Internet » PHP »

¿Más Sentencias SQLs o Más codigo PHP?

Estas en el tema de ¿Más Sentencias SQLs o Más codigo PHP? en el foro de PHP en Foros del Web. Bueno, tengo un Script en donde por cada categoria tengo que hacer una sentencia llamando a sus hijos Aunque tambien puedo llamarlos a todos los ...
  #1 (permalink)  
Antiguo 30/05/2009, 20:15
Avatar de Jhonnyf  
Fecha de Ingreso: septiembre-2007
Ubicación: Dentro de mi
Mensajes: 87
Antigüedad: 16 años, 7 meses
Puntos: 5
¿Más Sentencias SQLs o Más codigo PHP?

Bueno, tengo un Script en donde por cada categoria tengo que hacer una sentencia llamando a sus hijos

Aunque tambien puedo llamarlos a todos los hijos en 1 Array, y trabajar sobre este

Me preguntaba que es Mejor, ¿hacer más codigo PHP o hacer más sentencias SQL?

lo digo por el lado de servidor, para no sobrecargarlo
__________________
*en construccion*
  #2 (permalink)  
Antiguo 30/05/2009, 20:20
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: ¿Más Sentencias SQLs o Más codigo PHP?

Muestra el codigo, a ver si hay alguna forma de hacerlo todo con 1 sola consulta.
  #3 (permalink)  
Antiguo 30/05/2009, 20:23
Avatar de Jhonnyf  
Fecha de Ingreso: septiembre-2007
Ubicación: Dentro de mi
Mensajes: 87
Antigüedad: 16 años, 7 meses
Puntos: 5
Respuesta: ¿Más Sentencias SQLs o Más codigo PHP?

olvida lo de hacerlo con 1 sola consulta, simplemente es curiosidad... por ahi escuche que es mejor hacer codigo PHP a consultas

y por otro lado escuche que es mejor las consultas al PHP ya que el servidor aguanta más

pero por otros lados escuche que algunos server te dan un maximo de consultas al mes

de ahi mis interrogantes
__________________
*en construccion*
  #4 (permalink)  
Antiguo 30/05/2009, 20:25
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: ¿Más Sentencias SQLs o Más codigo PHP?

Depende de el volumen de la base de datos, o de lo que valla a hacer el código PHP.
  #5 (permalink)  
Antiguo 31/05/2009, 00:48
Avatar de bacdavi  
Fecha de Ingreso: junio-2006
Ubicación: http://localhost/
Mensajes: 351
Antigüedad: 17 años, 11 meses
Puntos: 7
Respuesta: ¿Más Sentencias SQLs o Más codigo PHP?

No crees que seria mejor hacer una clase en php con su respectiva funcion, asi unicamente en tu query cambiarias la seleccion de la tabla y/o parametros de busqueda y filtrado?
  #6 (permalink)  
Antiguo 31/05/2009, 06:11
Avatar de Jhonnyf  
Fecha de Ingreso: septiembre-2007
Ubicación: Dentro de mi
Mensajes: 87
Antigüedad: 16 años, 7 meses
Puntos: 5
Respuesta: ¿Más Sentencias SQLs o Más codigo PHP?

Cita:
Iniciado por bacdavi Ver Mensaje
No crees que seria mejor hacer una clase en php con su respectiva funcion, asi unicamente en tu query cambiarias la seleccion de la tabla y/o parametros de busqueda y filtrado?
pero si hago eso, seguiria siendo 1 consulta SQL por cada que lo llame

¿o es que se puede filtrar datos sobre una consulta realizada? asi como en Visual Basic?

ahi, yo hago una consulta y sobre el objeto uso su funcion filter para filtrar en base a una condicion

¿Se puede hacer eso?
__________________
*en construccion*
  #7 (permalink)  
Antiguo 31/05/2009, 07:13
Avatar de jaao_death  
Fecha de Ingreso: abril-2009
Ubicación: Murcia/españa
Mensajes: 229
Antigüedad: 15 años
Puntos: 6
Respuesta: ¿Más Sentencias SQLs o Más codigo PHP?

si lo que tienes es miedo de utilizar la base de datos, bien por que te la pueden bloquear o por otra cosa, te recomiendo que improvises una con XML o con datos binarios en un archivo, posteriormente bloqueándolos con Apache-server o modificando los permisos con chmod cada vez que pienses utilizarlos...
__________________
Mucha seguridad nunca es suficiente.... Por una red segura
El señor ilustre obscurece nuestras mentes
Usas Linux? http://www.dudalibre.com/gnulinuxcounter
  #8 (permalink)  
Antiguo 31/05/2009, 07:33
Avatar de PatomaS
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: En alguna otra parte
Mensajes: 4.656
Antigüedad: 20 años, 1 mes
Puntos: 63
Respuesta: ¿Más Sentencias SQLs o Más codigo PHP?

Hola

En las computadoras actuales, la capacidad de procesamiento es muy elevada, por lo que en general, con scripts bien hechos, esta no represetna un problema.

El acceso a disco es relativamente costoso, no solo porque las operaciones están sujetas a diferentes nieveles de carga, si no porque tienes como añadido el procesamiento del propio script. Sin embargo, como regla general, leer es barato, escribir es caro.

Sobre el procesamiento de la BD en si, asumiendo que tus consultas se conectan, abren la BD, se ejecutan y cierran la conexión, están generando una recarga significativa en el sistema; aun si leen 1Kb. Si utilizas conexiones persistentes mientras haces las consultas que mencionas, rebajas la carga del sistema significativamente, pero luego es vital que cierres la conexión.

Si el sistema tiene muchos usuarios concurrentes, las conexiones persistentes son aun peor que si no lo son ya que MySQL tiene que lanzar más y más hijos por consulta, aun en los momentos en los que no esté especialmente ocupado.

Si por otro lado, la consulta va a generar un resultado de megas y megas, su procesamiento en php requiere de un código muy bien hecho para que no recargues la memoria del sistema.

Y para no dar más vueltas, en general, si puedes hacer el trabajo con una sola consulta SQL y posterior procesamiento en PHP, esa es la mejor opción.

Por supuesto, haz las cosas de la forma más eficiente posible, haz la consulta solo por los datos que realmente necesitas y no por la BD entera o el registro entero, optimiza tu código php, trata de no generar copias del array si este tiene muchos datos, libera la BD tan pronto como puedas, etc, etc.

Felicidad
__________________
¡ hey, hou, hou, hey !
  #9 (permalink)  
Antiguo 31/05/2009, 10:08
Avatar de Jhonnyf  
Fecha de Ingreso: septiembre-2007
Ubicación: Dentro de mi
Mensajes: 87
Antigüedad: 16 años, 7 meses
Puntos: 5
Respuesta: ¿Más Sentencias SQLs o Más codigo PHP?

Cita:
Iniciado por PatomaS Ver Mensaje
Hola

En las computadoras actuales, la capacidad de procesamiento es muy elevada, por lo que en general, con scripts bien hechos, esta no represetna un problema.

El acceso a disco es relativamente costoso, no solo porque las operaciones están sujetas a diferentes nieveles de carga, si no porque tienes como añadido el procesamiento del propio script. Sin embargo, como regla general, leer es barato, escribir es caro.

Sobre el procesamiento de la BD en si, asumiendo que tus consultas se conectan, abren la BD, se ejecutan y cierran la conexión, están generando una recarga significativa en el sistema; aun si leen 1Kb. Si utilizas conexiones persistentes mientras haces las consultas que mencionas, rebajas la carga del sistema significativamente, pero luego es vital que cierres la conexión.

Si el sistema tiene muchos usuarios concurrentes, las conexiones persistentes son aun peor que si no lo son ya que MySQL tiene que lanzar más y más hijos por consulta, aun en los momentos en los que no esté especialmente ocupado.

Si por otro lado, la consulta va a generar un resultado de megas y megas, su procesamiento en php requiere de un código muy bien hecho para que no recargues la memoria del sistema.

Y para no dar más vueltas, en general, si puedes hacer el trabajo con una sola consulta SQL y posterior procesamiento en PHP, esa es la mejor opción.

Por supuesto, haz las cosas de la forma más eficiente posible, haz la consulta solo por los datos que realmente necesitas y no por la BD entera o el registro entero, optimiza tu código php, trata de no generar copias del array si este tiene muchos datos, libera la BD tan pronto como puedas, etc, etc.

Felicidad
Excelente respuesta...

ahora una duda más, es una modificacion a un sistema ya creado, que ya tiene su conexion activa y todo; solo reutilizo una funcion para sacar más datos.... y es ahi mi duda ya que actualmente estoy haciendo 1 consulta por cada categoria cuando puedo usar un Array declarado de forma Global o un puntero global para moverme en los datos, esa funcion es una sub,sub,sub,sub funcion de la clase :D
__________________
*en construccion*
  #10 (permalink)  
Antiguo 31/05/2009, 23:30
Avatar de PatomaS
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: En alguna otra parte
Mensajes: 4.656
Antigüedad: 20 años, 1 mes
Puntos: 63
Respuesta: ¿Más Sentencias SQLs o Más codigo PHP?

Hola

Si ya haces una solca consulta y obtienes todos los datos, ya tienes esa parte resuelta.

Ahora solo te falta revisar el código php para que también traje lo más eficientemente posible, por ejemplo, no creando copias innecesarias del array, eliminando datos del array que ya han sido procesados y no se usarán más mientras sigues con el resto, etc.

Felicidad
__________________
¡ hey, hou, hou, hey !
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 01:38.