sql >> Database teknologi >  >> RDS >> Mysql

Sporing af bannervisninger - Databasedesign

Jeg vil anbefale at skabe det mest fleksible design, der giver dig mulighed for at oprette nye rapporter, efterhånden som kravene udvides i fremtiden. Du foreslår, at kunden ønsker rapporter om "indtryk pr. dag". Hvad hvis de kommer ind senere og siger "hvilket tidspunkt på dagen vises indtryk mest på"? Hvad med "hvornår bliver de klikket mest på"?

Så den mest fleksible måde at gøre dette på er at have 1 post for hver visning, hvor hver post er justbanner_idtimestamp

Senere kan du oprette en lagret procedure, der samler historiske data og dermed renser ENORME mængder af data, som du har akkumuleret - og dermed skabe rapporter på det granularitetsniveau, som du interesserer dig for. Jeg kan forestille mig at gemme timedata i en måned og daglige data i et år. De lagrede procs ville bare skrive til en arkivtabel:

  • Banner-id
  • Tidsinterval-id (af måneden/året for månedlige data, eller dag/måned/år for daglige data osv.)
  • Antal visninger


  1. Server Side Events med PHP &MySQL

  2. Sådan overvåges HAProxy-metrics med ClusterControl

  3. Ret fejl:"SELECTs til venstre og højre for UNION har ikke det samme antal resultatkolonner" i SQLite

  4. Golang - Gem / Hent decimal fra MySQL