Ver Mensaje Individual
  #6 (permalink)  
Antiguo 08/10/2012, 08:23
karma274
 
Fecha de Ingreso: septiembre-2012
Ubicación: Norte de Santander
Mensajes: 127
Antigüedad: 11 años, 7 meses
Puntos: 1
Respuesta: Tiempo de ejecucion excedido...

Cita:
Iniciado por Triby Ver Mensaje
Definitivamente es un problema de optimización, porque en cada iteración en el while de $registro = mysql_fetch_assoc($rf) lees toda una tabla y recorres los registros para ver si cumplen condiciones, eso deberías hacerlo desde la consulta:

Código PHP:
Ver original
  1. include("../conexionesBD/conexion.php");
  2.  
  3. $rs = mysql_query("SELECT * FROM actaf WHERE nmatricula = 0");
  4. // El siguiente if no es necesario, si no hay resultados no entrará al while
  5. // if (mysql_num_rows($rs)>0){
  6. while($registro = mysql_fetch_assoc($rs)){
  7.     // En esta consulta necesitas un filtro
  8.     // WHERE numidprop = $registro['cedula'] and estmatricula... bla bla bla
  9.    $rf = mysql_query("SELECT * FROM sii_11.mreg_est_matriculados");
  10.  
  11.     while($fila = mysql_fetch_assoc($rf)){
  12.         // El siguiente if no es necesario
  13.         // if($registro["cedula"] == $fila["numidprop"] and $fila["estmatricula"] = "MA" and $fila["fecmatricula"] >= "2012/08/01"){
  14.             $q="UPDATE actaf SET
  15.                nmatricula = '".$fila['matricula']."',
  16.                fecha = '".$fila['fecmatricula']."'
  17.                WHERE cedula = '".$fila['numidprop']."'
  18.             ";
  19.              mysql_query($q,$link) or die (mysql_error());
  20.          // } // cierre de if no necesario
  21.     } // fin while fila
  22. } // fin while registro
  23. // } cierre de primer if no necesario
Muchas gracias por responder al post Triby, probe tu solucion pero sin mucha suerte pues sigo excediendo el tiempo de ejecucion, el script esta realizando exactamente lo mismo... La verdad no se que hacer pues no tengo experiencia con grandes bases de datos cualquier otra sugerencia la pondre en practica...