La importacion de archivos csv viene explicada en otro post el cual te aconsejo que leas para poder continuar con este, Importación a la base de datos de archivos Excel y CSV, ahora lo que haremos será usar los metodos que trae laravel Excel para que la carga de archivos muy grandes a la base de datos no de convierta en un cuello de botella y se pueda hacer un uso mas optimo de la memoria. Para elo en nuestra clase ProductsImport del post anterior hay que implementarle las clases WithBatchInserts y WithChunkReading quedando el codigo del archivo de esta manera:
<?php
namespace App\Imports;
use App\Models\Product;
use Illuminate\Support\Collection;
use Maatwebsite\Excel\Concerns\ToCollection;
use Maatwebsite\Excel\Concerns\WithChunkReading;
use Maatwebsite\Excel\Concerns\WithBatchInserts;
use Maatwebsite\Excel\Concerns\ToModel;
class ProductsImport implements ToModel, WithBatchInserts, WithChunkReading
{
/**
* @param Collection $collection
*/
public function model(array $row)
{
if($row[0] != 'PRODUCT'){
return new Product([
'reference' => $row[0],
'category ' => $row[1],
'cost' => $row[2],
'quantity' => $row[3],
]);
}
}
public function batchSize(): int
{
return 10000;
}
public function chunkSize(): int
{
return 10000;
}
}

¿Necesitas ayuda, no dudes en contactar? jaronu42[@]gmail.com. Saludos!!