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

Doctrine2 - Wiele wkładek w jednym ujęciu

Według tej odpowiedzi , Doctrine2 nie pozwala na łączenie wielu instrukcji INSERT w jedno:

Więcej informacji na temat przetwarzania wsadowego Doctrine2 można znaleźć tutaj:http://www .doctrine-project.org/blog/doctrine2-batch-processing.html

Możesz przełączyć się na DBAL lub skorzystać z przetwarzania danych w małych partiach, opróżniając menedżera encji po określonej liczbie wstawek:

$batchSize = 20;

foreach ($items as $i => $item) {
     $product = new Product($item['datas']);

     $em->persist($product);

     // flush everything to the database every 20 inserts
     if (($i % $batchSize) == 0) {
         $em->flush();
         $em->clear();
    }
}

// flush the remaining objects
$em->flush();
$em->clear();


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. grupuj według pierwszego i ostatniego wystąpienia

  2. Wybierz ze wszystkich tabel

  3. Jak działa funkcja LEFT() w MySQL

  4. Mysql:Kolejność wyników z select <nazwa pola> z jest inna niż kolejność wyników z select * z

  5. Wybierz zapytanie za pomocą IN() i bez sortowania