Ich habe eine Tabelle, in der ich Bewertungen von Benutzern für jedes Produkt speichern. Die Tabelle besteht aus den folgenden Feldern productid, userid, Bewertung (out of 5) ... Diese Tabelle enthält möglicherweise eine Million Zeilen in der Zukunft ....
Also, um die Top 5 Produkte zu wählen, verwende ich die folgende Abfrage ::.MySQL Datenbank-Design?
SELECT productid, avg(rating) as avg_rating
from product_ratingstblx245v
GROUP BY productid
ORDER BY avg(rating) DESC
LIMIT 5
Meine Frage ist, da ich auf einigen Seiten meiner Website dieses Ergebnis zeigen, wird, wäre es besser, eine separate Tabelle für die durchschnittlichen Bewertungen mit productid, Felder avgrating, totalvotes zu halten ???
Danke, ich werde dein Wort dafür nehmen, da du ein MS Sql Entwickler bist. und weiter mit der oben genannten Abfrage .... Vielen Dank – halocursed
+1 für den Vorschlag der Zwischenspeicherung der Ergebnisse! Für jede RDBMS-Marke, die Sie verwenden, besteht die beste Verbesserung der Abfrage-Performance darin, die Ausführung der Abfrage zu vermeiden, wenn Sie dies nicht tun müssen. –