从数据库中选择排名对象时(例如,用户投票的文章),最好的显示方式是:
- 项目的当前页面
- 用户对每个项目的评分(如果他们已投票)
粗略的架构:
articles: id, title, content, ...
user: id, username, ...
votes: id, user_id, article_id, vote_value
是否更好/更理想:
- 选择当前页面的项目
- 选择用户的投票,将他们限制在带有“IN”子句的项目页面
或者
- 选择当前页面的项目,然后从用户投票表中“加入”投票数据
或者,完全不同的东西?
理论上这是在高流量环境中,并使用像mysql这样的rdbms。fwiw,我看到这一点是“在做之前想清楚”而不是“过早的优化”。
谢谢!