Ver Mensaje Individual
  #7 (permalink)  
Antiguo 11/12/2018, 19:30
tuadmin
 
Fecha de Ingreso: abril-2006
Mensajes: 583
Antigüedad: 18 años
Puntos: 120
Respuesta: Insert de miles de registros muy lento

Código PHP:
Ver original
  1. <?php
  2. $values=array();
  3. $contador=0;
  4. While ($row = OCI_Fetch_Array($rstOpenConvenio)) {
  5.  
  6.     //$resultado = mysqli_query($qMysql, $conn);
  7.     //mysqli_query($conn,"INSERT INTO mesanterior (ss) VALUES ('".$row[0]."')");
  8.     $values[]= "('".$row[0]."','".$row[1]."','".$row[2]."','".$row[3]."','".$row[4]."','".$row[5]."','".$row[6]."','".$row[7]."','".$row[8]."','".$row[9]."','".$row[10]."','".$row[11]."','".$row[12]."','".$row[13]."','".$row[14]."','".$row[15]."','".$row[16]."')";
  9.     if(count($values)>99){// es mayor a 99 hacemos el insert
  10.         $qMysql = "INSERT INTO mesanterior (periodicidad,SS,cargdoso,cargunid,cargconc,concdesc,cargvalor,cargsign,sesuserv,sesususc,sesucate,sesusuca,pefacicl,locadesc,tipodir,copagina,observacion) VALUES ";
  11.         $qMysql .= implode(",\n",$values);
  12.         echo $sql;
  13.         $resultado=mysqli_query($conn,$sql);
  14.         echo count($values)." es multipo de 100 ";
  15.         echo "<br><br>";
  16.         //vaciamos la variable $values
  17.         $values=array();
  18.     }
  19. }
  20. // en caso de que siga existiendo los datos, pero estos no llegaron al limite, realizamos nuevamente la insercion
  21. if(count($values)>0){
  22. $qMysql = "INSERT INTO mesanterior (periodicidad,SS,cargdoso,cargunid,cargconc,concdesc,cargvalor,cargsign,sesuserv,sesususc,sesucate,sesusuca,pefacicl,locadesc,tipodir,copagina,observacion) VALUES ";
  23.         $qMysql .= implode(",\n",$values);
  24.         echo $sql;
  25.         $resultado=mysqli_query($conn,$sql);
  26.  
  27.         echo count($values)." es multipo de 100 ";
  28.         echo "<br><br>";
  29.  
  30. }
__________________
Mis aportes te ayudaron??, te hicieron ahorrar valiosos tiempo??, si quieres puedes agradecerme con un Gracias o con una donacion
https://paypal.com/pools/c/8lmNLmWnG9

Última edición por tuadmin; 11/12/2018 a las 19:32 Razón: falto un IF