У меня следующий запрос MySQL, который я использую в laravel для получения количества сводных таблиц.
select tracks.*, track_play_counts.track_id, count(track_play_counts.id) as track_play
from tracks
join track_play_counts on tracks.id = track_play_counts.track_id
group by track_id
order by track_play ;
это занимает слишком много времени около 20 секунд для большого количества данных.Как я могу уменьшить его?
Я уже пробовал withCount()
, но он также используется в качестве фильтра запроса, поэтому я не могу использовать здесь со счетом.
Можно ли из этого выбрать конкретное поле, например track_play
, без использования соединения?Я понимаю, что из-за присоединения это занимает слишком много времени отклика.