我有存儲餐廳收視率像MySQL表:Mysql:處理餐廳等平均評分數據的最佳方法是什麼?
id | user_id | res_id | rating_value | review_id |
1 | 102 | 5567 | 4.0 | 26 |
2 | 106 | 5543 | 3.5 | 27 |
3 | 112 | 5567 | 3.0 | 31 |
,我有Restaurant Profile webpage
每個餐廳這說明「數據」像用戶的餐廳'average rating'
。
用戶可以評論&爲有限次數的餐廳每天計算一次,因此單個餐館每天/每天可能會收到許多新的評分行,僅由一名用戶單獨提供。
我的問題是:
我應該每天(?或每週)運行一個cronjob到每家餐館更新餐館的「評分」的
SELECT AVG(rating_value)
,這會消耗很多的內存?我應該只保留最近的'收視率'的X數量,並使用cronjob到
SELECT AVG(rating_value)
它每天爲每家餐廳?
3.或者,當提交新的「評級」時,我應該只運行SELECT AVG(rating_value)
?