Мне нужно записать более 700 тыс. Строк в файл csv. Задача должна длиться менее 30 секунд, но работает 70 секунд. Как я могу оптимизировать этот процесс?
$users = User::all();
$callback = function () use ($users) {
$fh = fopen('php://output', 'w');
fputs($fh, "\xEF\xBB\xBF");
foreach ($users as $user) {
if ($user->writer) {
$books = $user->books;
foreach ($books as $book) {
fputcsv($fh, Arr::prepend($data, $book['name']), ';');
}
}
}
};