Foros del Web » Programando para Internet » PHP »

Maximo de consultas por pagina

Estas en el tema de Maximo de consultas por pagina en el foro de PHP en Foros del Web. Buenas.... Queria saber cuantas consultas aconsejan tener como maximo en un pagina PHP con mysql? A partir de cuantas consultas se empieza a poner lento? ...
  #1 (permalink)  
Antiguo 10/09/2008, 21:30
 
Fecha de Ingreso: diciembre-2007
Mensajes: 110
Antigüedad: 12 años
Puntos: 1
Maximo de consultas por pagina

Buenas....

Queria saber cuantas consultas aconsejan tener como maximo en un pagina PHP con mysql?

A partir de cuantas consultas se empieza a poner lento?

Estoy armando un sitio que en algunas paginas llega a las 15 consultas o mas. Algunas simples, algunas un poco mas complejas.

Y justamente por estos dias, luego de agregar varias querys mas a las paginas, mi sitio empezo a andar mas lento, pero no se si por las ultimas modificaciones o por culpa del hosting.


Que recomiendan para este tipo de sitios? Alguna guia?

O el Apache se aguanta todo y puedo mandar varias consultas mas todavia?
  #2 (permalink)  
Antiguo 10/09/2008, 22:10
Avatar de lucasan
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: Cali - Colombia
Mensajes: 1.144
Antigüedad: 12 años, 5 meses
Puntos: 59
Respuesta: Maximo de consultas por pagina

Es algo muy relativo para contestarlo a la ligera, puedes tener muchas consultas bien diseñadas que no afecten al server, como podrías tener unas cuantas pero mal diseñadas o mal concebidas y que se te devoren los recursos.

Sería mas fácil si pones las consultas que usas, pero igual, algún moderador tendrá que moverte al foro de Bases de Datos.
__________________
Plan Original Desarrollo Web
~$>sudo apt-get install -f
"Asi debería arreglarse todo en la vida"
  #3 (permalink)  
Antiguo 11/09/2008, 23:39
 
Fecha de Ingreso: diciembre-2007
Mensajes: 110
Antigüedad: 12 años
Puntos: 1
Respuesta: Maximo de consultas por pagina

Cita:
Iniciado por lucasan Ver Mensaje
Es algo muy relativo para contestarlo a la ligera, puedes tener muchas consultas bien diseñadas que no afecten al server, como podrías tener unas cuantas pero mal diseñadas o mal concebidas y que se te devoren los recursos.

Sería mas fácil si pones las consultas que usas, pero igual, algún moderador tendrá que moverte al foro de Bases de Datos.
Hola, gracias por responder.

Me habia olvidado de limpiar alguas querys con mysql_free_result

ahora gane un poco mas de velocidad.


Igual te cuento que mis consultas son en la mayoria selects muy basico, + algunos que otro join.



Mi miedo empezó cuando empezé a menter consultas dentro de ciclos, ejemplo:


Código PHP:

while ($array_cliente=msylq_fetch_array($consulta_cliente)){

echo 
"Estos son datos basicos de un consulta simple: "$array_cliente['nombre'] . " valor: " .  $array_cliente['valor'];

echo 
"<br /> Mas datos:";

//este es un objeto que hace 2 o 3 consultas para traer mas informacion

 
$consulta->MostrarMasDatosDelCliente($array_cliente['cliente_id']);



Bueno, quiero saber si es adecuado hacer eso. Hay alguna manera mejor? Supongamos que el ciclo while sea de 100 registros..estaria realizando casi 300 consultas MySQL. Por eso queria saber el limite recomendado. Para saber hasta cuantos listar.

Supongo que 10 o 20.

Saludos
  #4 (permalink)  
Antiguo 12/09/2008, 08:49
Avatar de lucasan
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: Cali - Colombia
Mensajes: 1.144
Antigüedad: 12 años, 5 meses
Puntos: 59
Respuesta: Maximo de consultas por pagina

Si no estoy mal la consulta la hiciste arriba (es decir no esta en este código) y ya en el while lo que haces es recorrer el resultado de esa consulta, es decir que la consulta habrá sido una sola y no 300
__________________
Plan Original Desarrollo Web
~$>sudo apt-get install -f
"Asi debería arreglarse todo en la vida"
  #5 (permalink)  
Antiguo 13/09/2008, 10:52
 
Fecha de Ingreso: diciembre-2007
Mensajes: 110
Antigüedad: 12 años
Puntos: 1
Respuesta: Maximo de consultas por pagina

Cita:
Iniciado por lucasan Ver Mensaje
Si no estoy mal la consulta la hiciste arriba (es decir no esta en este código) y ya en el while lo que haces es recorrer el resultado de esa consulta, es decir que la consulta habrá sido una sola y no 300
Si, pero

$consulta->MostrarMasDatosDelCliente($array_cliente['cliente_id']);

Es un metodo de la clase $consulta

Y esa funcion ya realiza 3 consultas para poder mostrar su informacion.

Entonces al estar en un while con 100 vueltas si realizaria 300 consultas

Se entiende?

Vale aclarar que todo esto es un ejemplo simple. No es mi codigo real.


Saludos
  #6 (permalink)  
Antiguo 13/09/2008, 10:57
Avatar de lucasan
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: Cali - Colombia
Mensajes: 1.144
Antigüedad: 12 años, 5 meses
Puntos: 59
Respuesta: Maximo de consultas por pagina

Tendrías que mostrar tu código, tanto el bucle como la clase.
__________________
Plan Original Desarrollo Web
~$>sudo apt-get install -f
"Asi debería arreglarse todo en la vida"
  #7 (permalink)  
Antiguo 16/09/2008, 07:56
 
Fecha de Ingreso: diciembre-2007
Mensajes: 110
Antigüedad: 12 años
Puntos: 1
Respuesta: Maximo de consultas por pagina

Cita:
Iniciado por lucasan Ver Mensaje
Tendrías que mostrar tu código, tanto el bucle como la clase.
Es que mi duda no es epecificamente para un codigo mio..sino sobre un conceto de programacion. Solo quiero saber si es valido ese camino

Te lo paso mas resumido para ver si se entiende:

Código PHP:
function Mostra_info($ID){

//Hago 3 consultas cualquieras
$sql1="select campo1 from tabla1";
$sql2="select count(campo2) as cantidad from tabla2";
$sql3="select sum(campo3) as totalfrom tabla3";

$res1=msyql_query($sql1);
$res2=msyql_query($sql2);
$res3=msyql_query($sql3);


//muestro la info de la 3 consultas
Echo "Informacion de $ID: msqyl_result($res1,0,0) . " cantidadmsqyl_result($res2,0,0) . " Total : ".  msqyl_result($res3,0,0)
}



//Hago un clico que llama a la fucnion que hace 3 consultas
For (X=0;X<100;X++){
       
Mostrar_info(X);
      } 


La otra alternativa es hacer una super consulta que haga todo...pero lei que no es recomedable tener consultas muy complicadas ya que dificultan la futura mantencion

Saludos.
  #8 (permalink)  
Antiguo 16/09/2008, 08:55
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 13 años, 4 meses
Puntos: 70
Respuesta: Maximo de consultas por pagina

Hola GsutavoDeLanus, cómo vas??

Mira realmente lo que necesitas saber es muy relativo, depende de muchas cosas como para decirte algo puntual.

Te hablo de mi experiencia...

A veces, cuando comienzo a hacer un proyecto realizo querys de prueba pues para saber como anda... ejecuto explain (mysql, postgres) y observo el comportamiento de acuerdo a las instrucciones sql que use (osea, no es lo mismo usar: $fecha > '2008-12-22' and $fecha < '2008-12-31', que, $fecha between '2008-12-22' and '2008-12-31'), por ese lado, intento optimizar consultas.

Evito, hacer consultas dentro de bucles (pero a veces es inevitable)

Nunca realizo varias consultas, para eliminar varios registros. Imagínate que te van a eliminar 15 registros de tu DB, hacer 15 delete from tabla where id=$id????? No, utilizo la intrucción IN de mysql... para que solo haga una consulta y elimine los 15 registros. Es óptimo.

A lo que voy con todo esto, es que me preocupo mas de optimizar mis consultas y accesos a la DB que la propia cantidad de registros a mostrar, me entiendes??

Espero que te sea de ayuda...

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #9 (permalink)  
Antiguo 17/09/2008, 19:26
 
Fecha de Ingreso: diciembre-2007
Mensajes: 110
Antigüedad: 12 años
Puntos: 1
Respuesta: Maximo de consultas por pagina

Cita:
Iniciado por Carxl Ver Mensaje
Hola GsutavoDeLanus, cómo vas??

Mira realmente lo que necesitas saber es muy relativo, depende de muchas cosas como para decirte algo puntual.

Te hablo de mi experiencia...

A veces, cuando comienzo a hacer un proyecto realizo querys de prueba pues para saber como anda... ejecuto explain (mysql, postgres) y observo el comportamiento de acuerdo a las instrucciones sql que use (osea, no es lo mismo usar: $fecha > '2008-12-22' and $fecha < '2008-12-31', que, $fecha between '2008-12-22' and '2008-12-31'), por ese lado, intento optimizar consultas.

Evito, hacer consultas dentro de bucles (pero a veces es inevitable)

Nunca realizo varias consultas, para eliminar varios registros. Imagínate que te van a eliminar 15 registros de tu DB, hacer 15 delete from tabla where id=$id????? No, utilizo la intrucción IN de mysql... para que solo haga una consulta y elimine los 15 registros. Es óptimo.

A lo que voy con todo esto, es que me preocupo mas de optimizar mis consultas y accesos a la DB que la propia cantidad de registros a mostrar, me entiendes??

Espero que te sea de ayuda...

Saludos

Gracias Carxl. Voy a terminar el proyecto y luego voy a tratar de ir optimizando las consultas y las classes para ganar mas velocidad.

Porque hace poco que aprendi mysql y todavia no tengo muy en claro todo. Gracias que puedo mostrar los resultados que quiero.


Por lo menos se que no es tan ridiculo ejecutar consultas dentro de un bucle


Saludos!!!
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 01:58.