Mysql
 sql >> Baza danych >  >> RDS >> Mysql

czy istnieje alternatywa dla używania pętli for do wstawiania wielu zapytań?

Proszę zobaczyć to zapytanie, mam nadzieję, że poprawi to nasz kod i szybkość.

Unikaj wykonywania zapytań SQL w pętli

Częstym błędem jest umieszczanie zapytania SQL wewnątrz pętli. Powoduje to wielokrotne podróże w obie strony do bazy danych i znacznie wolniejsze skrypty. W poniższym przykładzie możesz zmienić pętlę, aby utworzyć pojedyncze zapytanie SQL i wstawić wszystkich użytkowników jednocześnie.

foreach ($userList as $user) {

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

  mysql_query($query);

  }

Zamiast używać pętli, możesz połączyć dane w jedno zapytanie do bazy danych.

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dodanie do pola bazy danych zamiast nadpisywania (funkcja MySQL UPDATE)

  2. Chcesz numer wiersza w grupie kolumny w MY SQL?

  3. Python i Django OperationalError (2006, „Serwer MySQL zniknął”)

  4. mysql 5.7 jest znacznie wolniejszy niż mysql 5.6 na średnim sql

  5. Jak skopiować tabelę z jednej bazy mysql do innej bazy mysql?