hola. Tengo un script que inserta unos 50000 registros en una bd y estoy tratando de optimizarlo para tardar lo menos posible.
Comencé con un bucle que insertaba 1 a 1 los registros y tardaba bastante.Como unos 15 minutos o mas.
Ahora estoy armando consultas insert de (en este momento) 2500 registros, y aunque arranca muy rapido, luego la velocidad comienza a caer y supera los 10 minutos.
Así armo la consulta con php:
Código PHP:
Ver original$consulta = "insert into players values ";
$i = 0;
while($i < count($xml->players)){ $consulta = "insert into players values ";
$j = 0;
while($j < 2500 && $i < count($xml->players)){ $consulta .= "(".
$xml->players[$i]['id'].",'".$xml->players[$i]['player']."','".
$xml->players[$i]['name']."','".$xml->players[$i]['coords']."'),";
$i++;
$j++;
}
$consulta = substr ($consulta, 0, -1); echo $consulta."<br/>";
$db->ConsultaInsert($consulta);
}
mi pregunta es "cual es el valor optimo para insertar??" de a cuantos meto?? estuve probando con valores mas altos (4000, 5000) pero me da errores que creo que pueden ser por la longitud de la consulta ...
sugerencias??