В настоящее время я делаю это:
У меня есть таблица с именем tracking_log
, куда я вставляю строку всякий раз, когда пользователь использует наше приложение.Мы используем эту таблицу для расчета пользователей, которые остаются с нами и продолжают использовать программное обеспечение.
Это работало нормально.Но теперь я также хочу видеть количество активных пользователей для:
- каждый день с момента запуска
- неделя с момента запуска
- месяц с момента запуска.
Структура таблицы примерно такая:
tracking_log
- user_id (integer, pk)
- when_used (timestamp)
- event (event-type triggered by user. Kept for future usage.)
Наше определение «Активные пользователи в день d1»: пользователи, которые зарегистрировались ранее, чем (d1-15) дней иИспользовал продукт в течение (d1-7) дней.
В таблице tracking_log содержится около 500 тыс. записей и подсчетов.Я писал запросы MySQL для вычисления приведенных выше чисел, но они оказываются очень медленными.
Как лучше всего это реализовать?Существуют ли какие-либо решения для создания таких отчетов с меньшими усилиями?