Mysql
 sql >> база данни >  >> RDS >> Mysql

Doctrine2 - Множество вмъквания в един кадър

Според този отговор , Doctrine2 не ви позволява да комбинирате няколко оператора INSERT в един:

Можете да прочетете повече за пакетната обработка на Doctrine2 тук:http://www .doctrine-project.org/blog/doctrine2-batch-processing.html

Можете или да преминете към DBAL, или да прибягвате до обработка на вашите данни на малки партиди, като изтриете мениджъра на обекти след определено количество вмъквания:

$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. MySQL оптимизиране на скоростта на INSERT се забавя поради индекси

  2. Променете паролата за mysql в контейнера на Docker

  3. MySQL условно вмъкване

  4. Широко поле за varchar причинява грешка в заявеното преобразуване не се поддържа при използване на openquery с MySQL свързан сървър

  5. Чудна и досадна грешка:Извикване на недефинирана функция mysql_query()