Se den här frågan hoppas att detta kommer att förbättra vår kod och hastighet.
Undvik att göra SQL-frågor i en loop
Ett vanligt misstag är att placera en SQL-fråga inuti en loop. Detta resulterar i flera rundresor till databasen och betydligt långsammare skript. I exemplet nedan kan du ändra loopen för att bygga en enda SQL-fråga och infoga alla dina användare på en gång.
foreach ($userList as $user) {
$query = 'INSERT INTO users (first_name,last_name) VALUES("' . $user['first_name'] . '", "' . $user['last_name'] . '")';
mysql_query($query);
}
Istället för att använda en loop kan du kombinera data till en enda databasfråga.
$userData = array();
foreach ($userList as $user) {
$userData[] = '("' . $user['first_name'] . '", "' . $user['last_name'] . '")';
}
$query = 'INSERT INTO users (first_name,last_name) VALUES' . implode(',', $userData);
mysql_query($query);