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

Doctrine2 - Vícenásobná vložka v jednom záběru

Podle této odpovědi , Doctrine2 vám neumožňuje kombinovat více příkazů INSERT do jednoho:

Více o dávkovém zpracování Doctrine2 si můžete přečíst zde:http://www .doctrine-project.org/blog/doctrine2-batch-processing.html

Můžete buď přejít na DBAL, nebo se uchýlit ke zpracování dat v malých dávkách propláchnutím správce entity po nastaveném počtu vložek:

$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. Vytvořte spouštěč DML na serveru SQL Server

  2. Jak rekurzivně najít všechna ID dětí?

  3. Vytvořte dočasnou tabulku v MySQL s indexem z výběru

  4. Složité omezení cizího klíče v SQLAlchemy