memiliki tabel berikut:1. dilihat2. views_hourly_summary3. views_daily_summary4. views_monthly_summary5. views_alltime_summary
menjalankan tugas cron pada interval berikut:
-
jalankan setiap jam dan pra-agregasi tampilan untuk jam itu dari tabel tampilan dan simpan hasil yang telah digabungkan di tabel views_hourly_summary, juga perbarui tabel views_alltime_summary
-
jalankan di akhir setiap hari dan pra-agregasi tampilan untuk hari itu dari tabel jam dan simpan hasil pra-agregasi di tabel views_daily_summary
-
jalankan di akhir setiap bulan dan agregasi tampilan untuk hari itu dari tabel jam dan simpan hasil yang diagregasi sebelumnya di tabel views_daily_summary
selanjutnya saat mengambil hasil, Anda harus melakukan beberapa perhitungan sebagai berikut:
-
Misalnya, Anda ingin mengambil tampilan selama 4 jam terakhir, Anda akan mengambil data 3 jam penuh dari tabel per jam dan untuk data yang tersisa mengambilnya dari tabel tampilan sebagai berikut:
pilih item_id, sum(views) sebagai viewsfrom views_hourly_summarywhere hour antara concat(left(now() - interval 3 hour, 14), '00:00') dan concat(left(now(), 14), '00:00' )kelompokkan menurut item_id
serikat
pilih item_id, hitung(1) sebagai tampilan dari tampilan di mana tanggal waktu antara (sekarang() - interval 4 jam) dan concat(left(now() - interval 3 jam, 14), '00:00')atau datetime> concat(left( now(), 14), '00:00')kelompokkan menurut item_id