Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie werden Artikelkommentare, Hits und Likes in einem Artikelindex richtig gezählt?

Es wäre in diesem Fall am besten, Redundanz zuzulassen, um die Geschwindigkeit zu verbessern. Fügen Sie der News-Tabelle diese Felder hinzu:

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

Wenn ein Kommentar/Gefällt mir/Treffer hinzugefügt/gelöscht wird und die Datenbank Trigger unterstützt, lösen Sie ein Inkrement/Dekrement des referenzierten Zählers aus, und wenn nicht – tun Sie es manuell bei jedem Einfügen/Löschen (gespeicherte Prozedur vielleicht?).

Diese Art von Daten wird häufiger gelesen als geschrieben, daher ist es zur Optimierung der Lesegeschwindigkeit keine große Sache, die Schreibgeschwindigkeit und den Speicherplatz zu verlangsamen.

Von Zeit zu Zeit wäre es in Ordnung, eine Abfrage auszuführen, die diese Zähler aktualisiert, wenn sie aus irgendeinem Grund fehlerhaft werden.