Мне нужно найти максимальное количество одновременных пользователей (с указанием даты и времени, если применимо)
У меня есть таблица t_sessions, содержащая 10 800 000 строк, например:
sesion_start duration_in_sec user_name
01/01/2019 01:00 280 a
01/01/2019 01:02 380 b
01/01/2019 01:01 1250 c
Мне нужно найти максимальное количество одновременных пользователей (с указанием даты и времени, если применимо)
Я создал временную таблицу, t_times содержит все времена в секундах:
f_time
01/01/2019 00:00:01
01/01/2019 00:00:02
01/01/2019 00:00:03
select max(c) from
(select f_time, count(*) c
from t_times a
join t_sessions b
on a.f_time between sesion_start and
(sesion_start + (duration_in_sec /86400))
group by f_time)
Есть ли меньше затрат и лучший способ выполнить такой запрос?