Я бы хотел, чтобы пользователи могли сортировать видео по «наиболее просматриваемым» по периодам (день, неделя, месяц, год и т. Д.).Сортировка по совокупности по большому набору данных в реальном времени
В настоящее время все данные находятся в MySQL, и в основном установка представляет собой таблицу «видео» и таблицу «представления», которая содержит строки с столбцами video_id, session_id и datetime.
Для сортировки по "наиболее просматриваемым" для каждого видеоролика генерируется вычисленное поле с COUNT(), которое подсчитывает все строки представления за указанный период. Это работает отлично для таких периодов, как «час» и «день», но такие периоды, как «месяц» и «год», могут занять много времени.
Проблема в том, что это не масштабируемо. У меня есть тысячи видеороликов, и большинство видео генерирует тысячи просмотров каждый месяц, что суммирует до миллионов просмотров каждый месяц.
Я прошу об общем решении/стратегии, которая является масштабируемой. Есть ли такие вещи, как это сделать в MySQL, или я должен рассматривать другую базу данных?