Всем привет, нужна помощь
есть 2 запроса
$users = DB::connection()->select('select
users
.
id
,
users
.
status
,
status
.
name
,
status
.
color
from
users
left join
status
on users.point between status.topoint and status.point where
users
.
point
> 0');
$users = \App\Models\User::query()
->select('
users.id', 'users.status', '
status.name', 'status.color')
->leftJoin('status', static function (JoinClause $join) {
$join->whereRaw('users.point between status.topoint and status.point');
})
->where('users.point', '>', 0)
->get();
первый отрабатывает за 0.1 второй за 1.5 сек, запросы одниковые, join можно убрать роли не играет
Я так понимаю проблема в составлении коллекции, можно ли как-то через eloquent сразу делать массив, а не коллекцию
Данных в таблице 15 тыс, индекс point не отрабатывает, но даже FORCE INDEX (point) особо не помогает
->get()->toArray(); не дает прибавки к скорости
проблема именно в сборе коллекции
запрос типа pluck('point', 'id')->all() отрабатывает быстро