sql >> Databasteknik >  >> RDS >> Mysql

Vad är det rätta sättet att räkna artikelkommentarer, träffar och likes i ett artikelindex?

Det skulle vara bäst att erkänna redundans i det här fallet, för att förbättra hastigheten. Lägg till dessa fält i nyhetstabellen:

comments_count int not null default 0,
likes_count int not null default 0,
hits_count int not null default 0

När en kommentar/gilla/träff läggs till/tar bort, om databasen stöder triggers, utlöser du en ökning/minskning av den refererade räknaren, och om inte - gör det manuellt vid varje infogning/borttagning (lagrad procedur kanske?).

Den här typen av data läses oftare än skrivs, så för att optimera läshastigheten är det ingen stor sak att sakta ner skrivhastigheten och lagringsutrymmet.

Då och då skulle det vara OK att köra en fråga som skulle uppdatera dessa räknare om de av någon anledning blir felaktiga.



  1. Använd löfte för att bearbeta MySQL-returvärde i node.js

  2. Hur påverkar lagringsbackend Datomic?

  3. Aggregering av anslutna uppsättningar av noder/kanter

  4. Postgres HStore-fel - okänd operatör