Ich versuche, ein Datenbankschema einrichten, wo Objekte Likes erhalten können. Ich werde oft auf die Gesamtzahl der Likes eines beliebigen Objekts zugreifen müssen.Wie "Anzahl der Likes" in relationalen Datenbank zu implementieren
I Setup zwei Tabellen:
[OBJECT]
id
path
desc
[LIKES]
obj_id
user_id
timestamp
Es würde Sinn für mich, ein Feld „nr_of_likes“ in der Objekttabelle zu implementieren, die jedes Mal, wenn eine neue Zeile in den Gleichen eingefügt wird erhöht werden Tabelle. Dies sollte viel schneller sein als COUNT(*)
die Anzahl der Likes pro Objekt, oder? Das Problem ist, dass ich redundante Daten bekomme, und normalerweise ist das, was ich studiert habe, nicht gut. Welche Best Practices gibt es in dieser Hinsicht? Kann das Feld "nr_of_likes" implementiert werden? Vielen Dank für Ihre Meinung!
seine sogenannte De-Normalisierung oder Memoisierung, sehr oft aus Gründen der Performance verwendet –
Das Hinzufügen einer Spalte, die die Gesamtzahl der Likes zu einer Tabelle im Gegensatz zu einem 'COUNT()' enthält, ist nicht ideal. Obwohl es möglicherweise schneller zu lesen ist, müssen Sie berücksichtigen, dass Sie diese Spalte bei jeder Änderung der Nummer ständig pflegen müssen. Darüber hinaus verlieren Sie alle Konzept, wer es mochte, und wann. Redundante Daten sind nicht immer schlecht, aber was halten Sie für redundant? – Siyual