Задать вопрос
@kirill-93

Как оптимизировать запрос?

Здравствуйте,
у меня 2 таблицы:
1 - posts - таблица со статьями
2 - statistics - количество просмотров постов за каждый день (срез статистики)
Мне нужно делать выборку самых читаемых постов за определенный период времени, то есть взять самое маленькое (первое) значение и отнять его от самого большого. Получается запрос вида
select 
posts.*
join statistics on statistics.post_id = posts.id
where statistics.created_at => :from and statistics.created_at <= :to
group by posts.id
order by max(statistics.views) - min(statistics.views)

Запрос такого вида тяжелый, как можно его ускорить?
  • Вопрос задан
  • 163 просмотра
Подписаться 1 Оценить 3 комментария
Помогут разобраться в теме Все курсы
  • Skillbox
    Python-разработчик
    10 месяцев
    Далее
  • ProductStar
    Профессия: Java-разработчик
    9 месяцев
    Далее
  • GB (GeekBrains)
    Профессия Python-разработчик
    10 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы