Ver Mensaje Individual
  #6 (permalink)  
Antiguo 03/04/2012, 14:46
Avatar de SirDuque
SirDuque
 
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
Respuesta: Server dice "MySQL server has gone away"

El multiple INSERT funciona de la siguiente manera:

Código PHP:
// 7 INSERT en una sola query.
$sql="INSERT INTO tabla (campo1, campo2, campo3)
 VALUES 
('$campo1', '$campo2', '$campo3'), ('$campo1', '$campo2', '$campo3'), ('$campo1', '$campo2', '$campo3'), ('$campo1', '$campo2', '$campo3'), ('$campo1', '$campo2', '$campo3'), ('$campo1', '$campo2', '$campo3'), ('$campo1', '$campo2', '$campo3')"
;
mysql_query($sql);

// Este insert suplanta:
//INSERT 1
$sql="INSERT INTO tabla (campo1, campo2, campo3)
 VALUES 
('$campo1', '$campo2', '$campo3')"
;
mysql_query($sql);
//INSERT 2
$sql="INSERT INTO tabla (campo1, campo2, campo3)
 VALUES 
('$campo1', '$campo2', '$campo3')"
;
mysql_query($sql);
//INSERT 3
$sql="INSERT INTO tabla (campo1, campo2, campo3)
 VALUES 
('$campo1', '$campo2', '$campo3')"
;
mysql_query($sql);
//INSERT 4
$sql="INSERT INTO tabla (campo1, campo2, campo3)
 VALUES 
('$campo1', '$campo2', '$campo3')"
;
mysql_query($sql);
//INSERT 5
$sql="INSERT INTO tabla (campo1, campo2, campo3)
 VALUES 
('$campo1', '$campo2', '$campo3')"
;
mysql_query($sql);
//INSERT 6
$sql="INSERT INTO tabla (campo1, campo2, campo3)
 VALUES  ('$campo1', '$campo2', '$campo3')"
;
mysql_query($sql);
//INSERT 7
$sql="INSERT INTO tabla (campo1, campo2, campo3)
 VALUES 
('$campo1', '$campo2', '$campo3')"
;
mysql_query($sql); 
PASO 1:
Como implementarlo en tu codigo:

Código PHP:

$SQL 
"INSERT INTO tabla (campo1, campo2, campo3)
 VALUES "
;
$INSERTS = array();

//Bucle
while (){

$INSERTS []= "('$campo1', '$campo2', '$campo3')";

}
//Fin bucle.

$SQL .= implode', ',$INSERTS);
mysql_query($SQL)or die( mysql_error() ); 
Con esto va a ser mas rapido el proceso.

PASO 2:

En la tabla segun los datos que nos interecen declaralos como llaves INDEX

Despues ANALYZE TABLE tabla; OPTIMIZE TABLE tabla;

PASO 3:

Las condiciones del SELECT deben apuntar a los INDEX del paso 2.

Comentanos los resultados.
El select
__________________
Mono programando!
twitter.com/eguimariano