Уважаемые,
На самом деле, я хотел бы знать лучшее решение для манипулирования БОЛЬШИМИ ДАННЫМИ в LARAVEL / MYSQL.
В моей системе я загружаю ежедневный файл Excel (5K строк) вмоя БД, если я нахожу ту же строку в своей таблице, чтобы не вставлять ее, и если я нахожу ту же строку, я менял загруженную дату в своей БД.
Каждый раз, когда я загружаю ExcelЯ проверяю каждую строку, если есть в моей таблице (таблица содержит> 50 КБ) с обычным массивом, как показано ниже
$res = policies::where('phone', '=', $row['phone'])
->where('draft_no', '=', $row['draftno'])
->where('due_date', '=', $duedate)
->where('status', '=', $stat)
->where('bord_date', '=', $borddate)
->where('amount', '=', $row['amnt'])
->where('remarks', '=', $row['remarks'])
->exists();
if(!$res) {
// insert row ($table->save())
}
else {
//update uploaded date to this row.
}
этот процесс занимает много времени bcz каждый раз при проверке таблицы.Я пытался использовать array_chunk для вставки, но, тем не менее, нагрузка большая (от 15 минут до 20 минут) до конца
Ваш совет очень важен.
Спасибо