Всем привет, никогда не сталкивался с выводом больших данных и их парсингом, только начинаю в программировании
Написал скрипт на php
Делаю запрос с выборкой данных из БД, с сохранением в массив(кстати тоже вопрос, если записей в таблице очень много больше 1 млн, правильно ли это?)
Дальше через foreach бегаю по массиву ищу поле и подставляю его в curl() запрос,чтобы спарсить данные, декодирую через json_decode, в этом массиве снова ищу данные foreach и обновляю в БД
Запустил скрипт за 15 мин , перемолол 4000 строк
В БД таких строк 1 620 000
Посчитал чтобы все их обработать займет 72 дня (по 4 сек на один запрос)
Как ускорить этот процесс и уменьшить время?Использовать потоки(А есть ли они в php)? Или использовать array_chunk и раскидывать по серверам?
const CHUNK = 100000;
const SERVER_NUM = 10;
$maxId = $db->fetchVal('SELECT o_id FROM organizations ORDER BY o_id DESC LIMIT 1');
$chunkOrder = 0;
$from = 0;
$to = CHUNK;
$SERVER_ID = 1;
  do{
     $chunkOrder++;
       if ($SERVER_ID !== $chunkOrder % SERVER_NUM){
           continue;
          };
   $org_twitter = $db->fetchAll('SELECT * FROM organizations where o_id >= :from and o_id < :to', ['from'=>$from, 'to'=> $to]);
   $from = $to;
   $to += CHUNK;
   foreach (){}
  }while($from <= $maxId)