sql >> Databáze >  >> RDS >> Mysql

existuje alternativa k použití cyklu for pro vložení více dotazů

Přečtěte si prosím tento dotaz a doufáme, že to zlepší náš kód a rychlost.

Vyhněte se provádění SQL dotazů ve smyčce

Častou chybou je umístění SQL dotazu do smyčky. To má za následek více okružních cest do databáze a výrazně pomalejší skripty. V níže uvedeném příkladu můžete změnit smyčku tak, aby vytvořila jeden SQL dotaz a vložila všechny své uživatele najednou.

foreach ($userList as $user) {

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

  mysql_query($query);

  }

Místo použití smyčky můžete data zkombinovat do jediného databázového dotazu.

$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. Jak oddělit záznam, abyste získali částku

  2. mysql order by rand() výkonnostní problém a řešení

  3. je možné v mysql opakovat stejný výsledek

  4. Maximální délka názvu sloupce v MySQL