[英]Store a user's “rating” in profile or constantly run SQL queries to get average from separate table
為了獲得用戶的平均評分,我應該每次運行SQL查詢來從不同的表中計算平均值,還是應該將當前的平均值存儲在用戶的配置文件中以便於使用?
更加具體...
我正在開發一個用戶反饋/評分系統。 我有兩個表,一個表名為“用戶”,另一個表為“注釋”。 評論表將包含評論,評分和用戶ID。 我想要獲得給定用戶的平均評分,這[顯然]是所有評分的總和除以評分數量。 我可以每次運行此查詢並收集所有行,然后進行數學運算,否則...
要限制對數據庫的查詢數量,只需更新“用戶”表中的平均值即可。 每次添加新評論/評分時,用戶行也會被更新。
這更有利嗎? 會改善頁面加載量嗎? 任何建議,歡迎:)
這是思考的好方法。 該術語稱為“開銷”。 應用程序占用系統資源的數量。
如果我是你,我會做的是這個
在您實際遇到性能瓶頸之前,我將忽略數據庫必須處理的查詢數量。 否則,您將面臨過早優化的嚴重風險(眾所周知,這是萬惡之源 )。
現在,只需選擇簡單的選項:
之類的東西。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.