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

Hvad er den rigtige måde at tælle artikelkommentarer, hits og likes på i et artikelindeks?

Det ville være bedst at indrømme redundans i dette tilfælde for at forbedre hastigheden. Tilføj disse felter til nyhedstabellen:

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/synes godt om/hit tilføjes/slettes, hvis databasen understøtter triggere, udløser du en stigning/reduktion af den refererede tæller, og hvis ikke - gør det manuelt på hver indsættelse/sletning (lagret procedure måske?).

Denne type data læses oftere end skrevet, så for at optimere læsehastigheden er nedsættelse af skrivehastighed og lagerplads ikke en stor sag.

Fra tid til anden ville det være OK at køre en forespørgsel, der ville opdatere disse tællere, hvis de af en eller anden grund bliver fejlagtige.



  1. UNION-syntaks i Cakephp

  2. Ved at udtrække fra en stor xml fejler forespørgslen med strengen for lang

  3. Returner det korte måneds navn fra en dato i Oracle

  4. Find den nærmeste placering ved hjælp af postnummer?