Aktywne Wpisy

Dzesidzejms +17
#chcepogadac
Miłego dnia dla rannych ptaszków!
Miłego dnia dla rannych ptaszków!
źródło: 1000019525
Pobierz
StaryMonitKonta +23
wiecie, że poza Polską prawie nikt nie używa XD?
Skopiuj link
Skopiuj link
źródło: 1000019525
Pobierz
Regulamin
Reklama
Kontakt
O nas
FAQ
Osiągnięcia
Ranking
foreach($entities as $entity) {
$dlFromNet = $entity->downloadXls();
foreach($dlFromNet as $xls) {
$row = new xls();
$row->setName()......
$em->persist($row);
}
$em->flush();
}
tak na szybko, prosty przykład.
Sprawa jestt taka żę w pętli dlFromNet wykonuję około 3000-5000 operacji, plików pobieram około 10 więc do bazy muszę wrzucić trochę danych.
Przy trzeciej pętli skrypt zaczyna znacząco zwalniać... mógłbym zrobić $em->clear(); ale wtedy tracę encje $entities...
Jak sobie z tym poradzić? flush co 1500 - 3000 rekordów nic nie daje...
Pozostaje rozbić entities na mniejszą ilość pętli ale to ostateczność..
Skrypt odpalam z poziomu konsoli
Jak to przyśpieszyć?
php$batchSize = 20;
for ($i = 1; $i <= 10000; ++$i) {
$user =
@poh:
http://pastebin.com/qe1VyNXj
bo wykop psuje formatowanie
1. Czy problemem jest to że to się długo wykonuje w ogóle, czy to że się wykonuje długo gdy nie jest to
@Jaslanin: w ogóle, jeżeli puszczę mniejszy okres albo mniejszą ilośc danych to z--------a ładnie