我正在开发一个评价地点的系统,这是我的问题。假设我的数据库中有这样的表:
places : id, name, description
place_marks : id, user_id, place_id, value, comment
当用户对地点进行研究时,我想向他发送按速率 desc 排序的地点列表。实现这一目标的最佳方法是什么?
解决方案 1
- 获取名称对应的所有地点
- 对于每个地方,计算标记
- 创建一个新的有序列表
解决方案 2
- 在位置表中添加列标记
- 每次用户添加标记时,我都会计算标记
- 对于搜索,我只需要正确查询数据库
在解决方案 1 中,问题可能是性能问题(即使我在查询中计算标记),在解决方案 2 中,如何确保在计算标记时避免冲突?
我正在将 Play2 与 MySQL 一起使用。谢谢您的帮助。