tienen las siguientes tablas:1. vistas2. views_hourly_summary3. views_daily_summary4. vistas_resumen_mensual5. views_alltime_summary
hacer que se ejecute un trabajo cron en los siguientes intervalos:
-
ejecute cada hora y agregue previamente las vistas para esa hora de la tabla de vistas y guarde el resultado agregado previamente en la tabla views_hourly_summary, también actualice la tabla views_alltime_summary
-
ejecutar al final de todos los días y preagregar las vistas para ese día de la tabla de horas y guardar el resultado preagregado en la tabla views_daily_summary
-
ejecutar al final de cada mes y preagregar las vistas para ese día de la tabla de horas y guardar el resultado preagregado en la tabla views_daily_summary
a continuación, cuando obtenga los resultados, tendrá que hacer algunos cálculos de la siguiente manera:
-
Por ejemplo, si desea obtener las vistas de las últimas 4 horas, obtendrá los datos de las 3 horas completas de la tabla por horas y los datos restantes los obtendrá de la tabla de vistas de la siguiente manera:
seleccione item_id, sum (vistas) como vistas de vistas_resumen_por_hora donde la hora entre concat (izquierda (ahora () - intervalo de 3 horas, 14), '00:00') y concat (izquierda (ahora (), 14), '00:00' )agrupar por item_id
unión
seleccione item_id, cuente (1) como vistas desde vistas donde fecha y hora entre (ahora () - intervalo de 4 horas) y concat (izquierda (ahora () - intervalo de 3 horas, 14), '00:00') o fecha y hora> concat (izquierda ( now(), 14), '00:00')agrupar por item_id