Ver Mensaje Individual
  #8 (permalink)  
Antiguo 31/05/2009, 07:33
Avatar de PatomaS
PatomaS
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: En alguna otra parte
Mensajes: 4.656
Antigüedad: 20 años, 2 meses
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 !