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