Osik
Новичок
Приветствую, имеется следующий код
PHP:
В $dostup_yaht получаю информацию о доступности из апи, перебираю его, и создаю многомерный массив в который подставляю значения, которые уже берутся непосредственно из БД, данное решение рабочее, но очень долгое, так как в $dostup_yaht получаю 5к элементов.
Время выполнения данного блока 18-20 секунд на пк на легеньком хостинге 40-50 сек.
Нужна подсказка, как ускорить данный участок кода, сделать его, как можно быстрее, если у кого то есть примеры с подобными работами, буду рад посмотреть, ну или же жду советов, как можно реализовать это
PHP:
PHP:
foreach($dostup_yaht as $v) {
$yacht_cursor = $collection_yachts->findOne(['id'=>$v->yachtId]);
$base_cursor = $collection_bases->findOne(['id'=>$v->startBaseId]);
$yacht_img = $yacht_cursor['images'];
if($yacht_cursor) {
if($v->price > 0 && $yacht_cursor->length > 0 && $yacht_cursor->year > 0) {
$yacht_dostup_id[] = [
'yachtId' => $v->yachtId,
'name' => $v->yacht,
'city' => $base_cursor->city,
'country' => $base_cursor->country,
'year' => $yacht_cursor->year,
'mainimage' => GetImageMain($yacht_img),
'model' => $yacht_cursor->model,
'cabins' => $yacht_cursor->cabins,
'kind' => $yacht_cursor->kind,
'wc' => $yacht_cursor->wc,
'berths' => $yacht_cursor->berths,
'mainsailType' => $yacht_cursor->mainsailType,
'proizvod' => $yacht_cursor->shipyardId,
'length' => $yacht_cursor->length,
'startBase' => $v->startBase,
'endBase' => $v->endBase,
'price' => $v->price,
'startPrice' => $v->startPrice,
'equipmentIds' => $yacht_cursor['equipmentIds'],
'discountPercentage' => $v->discountPercentage,
'ball' => abs($v->price / $yacht_cursor->length / ($yacht_cursor->year - 2023))
];
}
}
}
В $dostup_yaht получаю информацию о доступности из апи, перебираю его, и создаю многомерный массив в который подставляю значения, которые уже берутся непосредственно из БД, данное решение рабочее, но очень долгое, так как в $dostup_yaht получаю 5к элементов.
Время выполнения данного блока 18-20 секунд на пк на легеньком хостинге 40-50 сек.
Нужна подсказка, как ускорить данный участок кода, сделать его, как можно быстрее, если у кого то есть примеры с подобными работами, буду рад посмотреть, ну или же жду советов, как можно реализовать это