Mysql
 sql >> Database >  >> RDS >> Mysql

esiste un'alternativa all'utilizzo di un ciclo for per inserire più query

Si prega di consultare questa query sperando che questo migliorerà il nostro codice e la nostra velocità.

Evita di eseguire query SQL all'interno di un ciclo

Un errore comune è inserire una query SQL all'interno di un ciclo. Ciò si traduce in più round trip al database e script significativamente più lenti. Nell'esempio seguente, puoi modificare il ciclo per creare una singola query SQL e inserire tutti i tuoi utenti contemporaneamente.

foreach ($userList as $user) {

  $query = 'INSERT INTO users (first_name,last_name) VALUES("' . $user['first_name'] . '", "' . $user['last_name'] . '")';

  mysql_query($query);

  }

Invece di utilizzare un ciclo, puoi combinare i dati in un'unica query del database.

$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);