Foros del Web » Programando para Internet » PHP »

¿Por que la ejecucion de este codigo es tan lenta?

Estas en el tema de ¿Por que la ejecucion de este codigo es tan lenta? en el foro de PHP en Foros del Web. Hola gente, les escribo porque este codigo me esta volviendo loco. Tengo una base de datos con información variada de los distintos usuarios, y un ...
  #1 (permalink)  
Antiguo 17/08/2005, 02:51
 
Fecha de Ingreso: agosto-2005
Ubicación: Argentina, Capital Federal
Mensajes: 435
Antigüedad: 12 años, 4 meses
Puntos: 2
¿Por que la ejecucion de este codigo es tan lenta?

Hola gente, les escribo porque este codigo me esta volviendo loco.
Tengo una base de datos con información variada de los distintos usuarios, y un script q me muestra la lista completa de los usuarios (20 por página) con alguna informacion de ellos. El problema es que cuando lo ejecuto mi procesador se vuelve loco por unos 5 o 10 segundos (dependiendo de cuantos registros le diga que muestre).
Sacando pedazos de código llegue a la conclusión que el que genera tal retraso es lo siguiente:

Código PHP:
<?php 
    
while($row=mysql_fetch_array($result))
    {
    
?>
  <tr>
    <td width="5%">
    <p align="center"><font size="2"><?php echo $row[id?></font>
    </td>
    <td width="47%">
    <p align="center"><font size="2">
    <?php echo "<a href=\"pcontrol_vperfil.php?pid=" $row[usuario] . "&" session_name() . "=" session_id() . "\">" $row[usuario] . "</a>" ?>
    </font>
    </td>
    <td width="10%">
    <p align="center"><img border="0" src="pcontrol/<?php echo $row[pais?>.gif">
    </td>
    <td width="20%">
    <p align="center"><font size="2"><?php echo $row[fvisita?></font>
    </td>
    <td width="10%">
    <p align="center"><font size="2"><?php echo calcula_edad($row[fnac]) ?></font>
    </td>
    <td width="8%">
    <p align="center"><font size="2"><?php echo $row[sexo?></font>
    </td>
  </tr>
Anterior a eso ya tenia en $result toda la informacion necesaria para el while, pero ejecutar solo la consulta al sql no es lo que genera demora.

Bueno, quisiera saber cual es mi error o como puedo mejorar eso para que no demore tanto.
Se agradece de antemano.
  #2 (permalink)  
Antiguo 17/08/2005, 08:30
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
No veo nada raro, sólo haria unos cambios, pero dudo que hagan gran diferencia. Por ejemplo, en lugar de llamar siempre a las funciones sesion_name() y sesion_id() dentro del while, puedes tener su valor en una variable. Otro, en lugar de usar mysql_fetch_array() usar mysql_fetch_assoc().
  #3 (permalink)  
Antiguo 17/08/2005, 11:50
 
Fecha de Ingreso: agosto-2005
Ubicación: Argentina, Capital Federal
Mensajes: 435
Antigüedad: 12 años, 4 meses
Puntos: 2
Ok, voy a probar lo que me has dicho. Muchas gracias .
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




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