samedi 13 avril 2019

Effiecient way to get data from database in foreach

I am loading data from excel. In foreach I am checking for each record if it does exist in database:

$recordExists = $this->checkIfExists($record);

function checkIfExists($record) {
    $foundRecord = $this->repository->newQuery()
        ->where(..., $record[...])
        ->where(..., $record[...])
        ...
        ->get();
}

When the excel contains up to 1000 values which is relatively small piece of data - the code runs around 2 minutes. I am guessing this is very inefficient way to do it.

I was thinking of passing the array of loaded data to the method checkIfExists but then I could not query on the data.

What would be a way to proceed?



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire