Comunidad de diseño web y desarrollo en internet online

Limite al insertar registros seguidos en MySQL?

Citar            
MensajeEscrito el 27 Jul 2009 06:44 pm
Buenas.

Pues eso al intentar agregar o insertar registros en una tabla de MySQL automaticamente llega un punto que se queda bloqueado.

En mi caso hacia los 1000 registros seguidos, en cambio si lo hago por bloques de 500 no ahi problemas, cuando digo por bloques me refiero a que cada vez que le pulso a un boton me carga 500 registros.De esa forma si me permite insertar 2000,5000 registros o los que yo quiera y visualizarlos correctamente.

Por lo que he podido leer tiene que ser algun parametro de configuracion...pero aqui mi duda, un parametro de php, de mysql, de WebOrb? creo que tiene que ser algo del php.ini.
Ha alguien le ha pasado lo mismo o sabe que parametro es?

Mi codigo es (para que cada vez que le de al boton cree 500 registros nuevos):

for (i = numreg + 1; i <= numreg + 500; i++)
{
remoteObject.insertar("CLI" + i,"Nombre" + i,"Tel" + i);
}

Como dato indicar que si intento generar bloques en la misma accion tampoco me funciona y se bloquea, es decir:
Al pulsarle una vez solo al boton que genere lo siguiente:

for (i = 0; i <= 800; i++)
{
remoteObject.insertar("CLI" + i,"Nombre" + i,"Tel" + i);
}

for (i = 801; i <= 1600; i++)
{
remoteObject.insertar("CLI" + i,"Nombre" + i,"Tel" + i);
}

Por XaviQ

11 de clabLevel



 

msie8
Citar            
MensajeEscrito el 27 Jul 2009 08:07 pm
No se exactamente donde está el límite, pero evidentemente hacer 500 llamadas para 500 registros usando un loop es la forma mas ineficiente por lejos. Prueba hacer una sola llamada y hacer el loop del lado de PHP. Luego difícilmente una aplicación real tenga que hacere 500 inserts de golpe

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 27 Jul 2009 08:59 pm
Hola Jorge.

Ya se que no va a ver nadie o aplicacion que requiera esos 500 o mas inserts de golpe, solo es para rellenar una tabla con datos.
He echo lo que me comentas una sola llamada y el loop en el lado PHP.

function datosejemplo($numreg){
$numreg = utf8_encode($numreg);

$conex= mysql_connect("localhost","****","****") or die("no se puede conectar porque ".mysql_error());
mysql_select_db("CIAL");

for ( $i = 1 ; $i <= $numreg ; $i ++)
{
$sql= "INSERT INTO bdclientes (Cliente,CliNombre,Telefono) VALUES ('CLI$i' ,'KK','KK')";
$result= mysql_query($sql,$conex);
}

mysql_close($conex);
return $result;

}

Y me permite generar mas registros de golpe pero hacia los 1800 se me para y me salta una ventana de error que me dice "channel disconnected".El tamaño de la tabla con esos 1800 segun veo en el phpadmin es de 112 KB.

Bueno al menos ahora tengo una ventana de error, voy a investigar sobre eso.

Un saludo

Por XaviQ

11 de clabLevel



 

msie8

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.