Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Implementasi database fitur Paling Banyak Dilihat

memiliki tabel berikut:1. dilihat2. views_hourly_summary3. views_daily_summary4. views_monthly_summary5. views_alltime_summary

menjalankan tugas cron pada interval berikut:

  1. 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

  2. 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

  3. 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:

  1. 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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL Crash pada SQL

  2. Membatasi kolom untuk menerima hanya 2 nilai

  3. MySQL mengembalikan nilai maksimal atau nol jika satu kolom tidak memiliki nilai

  4. Pencarian MySQL dengan uft8_general_ci peka huruf besar/kecil untuk FULLTEXT?

  5. Membersihkan Variabel PHP, apakah saya menggunakannya secara berlebihan?