sql >> Databasteknik >  >> RDS >> Mysql

Spårning av bannervisningar - Databasdesign

Jag rekommenderar att du skapar den mest flexibla designen som gör att du kan skapa nya rapporter allt eftersom kraven sträcker sig i framtiden. Du föreslår att kunden vill ha rapporter om "visningar per dag". Tänk om de kommer in senare och säger "vilken tid på dygnet visas intrycken mest vid"? Vad sägs om "när klickas de mest på"?

Så det mest flexibla sättet att göra detta är att ha en post för varje visning, där varje post är justbanner_idtimestamp

Senare kan du skapa en lagrad procedur som aggregerar historisk data och på så sätt rensar ENORMA mängder data som du har samlat på dig - och därmed skapa rapporter på den granularitetsnivå som du bryr dig om. Jag kan tänka mig att lagra timdata i en månad och daglig data i ett år. De lagrade processerna skulle bara skriva till en arkivtabell:

  • Banner-ID
  • Tidsintervallsidentifierare (för månad/år för månadsdata, eller dag/månad/år för dagliga data, etc)
  • Antal visningar


  1. Hur man subtraherar dagar i MySQL

  2. TDS Server - Använd Transact-SQL (T-SQL)-uttalanden för att arbeta med Salesforce-data i SQL Server

  3. Hur OCTET_LENGTH() fungerar i MariaDB

  4. Hur fyller jag i en rationell MySQL-databas med flera tabeller från en befintlig databas med en tabell?