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

Najlepszy sposób na WSTAWIANIE wielu wartości w mysqli?

Powinieneś być w stanie znacznie zwiększyć szybkość, umieszczając swoje wstawki w transakcji. Możesz także przenieść instrukcje przygotowania i bindowania poza pętlę.

$array = array("array", "with", "about", "2000", "values");
$query = "INSERT INTO table (link) VALUES (?)";
$stmt = $mysqli->prepare($query);
$stmt ->bind_param("s", $one);

$mysqli->query("START TRANSACTION");
foreach ($array as $one) {
    $stmt->execute();
}
$stmt->close();
$mysqli->query("COMMIT");

Testowałem ten kod z 10 000 iteracji na moim serwerze internetowym.

Bez transakcji:226 seconds. Z transakcją:2 seconds. Lub two order of magnitude speed increase , przynajmniej dla tego testu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Procedura składowana MySQL z parametrami

  2. Czy MySQL FIND_IN_SET lub odpowiednik może używać indeksów?

  3. Procedura zapisana z opcjonalnymi parametrami WHERE

  4. Jak zainstalować MySQL w systemie Windows

  5. Zrozumienie transakcji pdo mysql