laravel-performance/app/Tasks/Mass/MassDelete/MassDelete1Task.php

38 lines
939 B
PHP

<?php
namespace App\Tasks\Mass\MassDelete;
use App\Models\Transaction;
use App\Tasks\Mass\MassInsert\MassInsert3Task;
class MassDelete1Task
{
/**
* insert unit
*
* 100 ............ 0,303 s DONE
* 1_000 ............ 2,000 s DONE
* 10_000 ........... 27,000 s DONE
* 100_000 .......... 149,000 s DONE (2m 29s)
* 1_000_000 ......... 1644,000 s DONE (27m 24s)
*/
public function handle(int $count): void
{
(new MassInsert3Task)->handle($count);
Transaction::query()
->select([
'id',
])
->where('id', '>', 0)
->chunkById(1000, function ($transactions) {
foreach ($transactions as $transaction) {
Transaction::query()
->where('id', '=', $transaction->id)
->delete();
}
});
}
}