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

PHP przygotował wyciągi i transakcje w pętli

Pętlę można zoptymalizować, pociągając prepare i bind_param wyciągi poza obiegiem.

$value = null;
$mysqli->autocommit(FALSE);
$sql  = "INSERT INTO temp (`fund_id`) VALUES (?)";
$stmt = $mysqli->prepare($sql);
$stmt->bind_param('i', $value);
foreach ($pdata as $value) {
    $stmt->execute();
}
$mysqli->commit();

Wyłączyłeś automatyczne zatwierdzanie za pomocą autocommit(FALSE) i dlatego nie trzeba używać START TRANSACTION oświadczenie.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Replikacja z MySQL do MS SQL

  2. Jaki jest najszybszy sposób załadowania pliku XML do MySQL przy użyciu C#?

  3. Ostrzeżenie:mysql_query():3 nie jest prawidłowym zasobem MySQL-Link

  4. Wyjątek trwałości hibernacji JPA [PersistenceUnit:domyślnie] Nie można zbudować fabryki sesji hibernacji

  5. Jak wybrać według zakresu początkowych postaci?