【发布时间】:2016-05-13 17:34:03
【问题描述】:
我有一个 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' 之类的“数据”。
用户每天可以对餐厅进行评论和评分,但次数有限,因此一家餐厅每天可能会收到许多新的评分行,仅来自一个用户。
我的问题是:
我应该每天(还是每周?)对每家餐厅的
SELECT AVG(rating_value)运行 cronjob 来更新餐厅的“评分”,这会消耗大量内存吗?我是否应该每天为每家餐厅保留 X 个最近的“评分”并使用 cronjob
SELECT AVG(rating_value)它?
3.或者我应该只在提交新的“评级”时运行SELECT AVG(rating_value)?
【问题讨论】:
标签: mysql database codeigniter database-design relational-database