我很好奇什么是最好的建模方法以优化性能......不关心实时数据完整性
我将继续使用 stackoverflow 示例
Question
id
title
Votes
id
user
question
一个问题有很多票
然而,对于许多查询,我们只关心投票的总数(例如显示在问题旁边)。
良好的关系数据库理论会将两个实体(Q 和 V)创建为单独的关系,需要连接,然后是 sum 或 count 聚合调用。
另一种可能性是打破常规形式,偶尔将投票的总价值具体化为问题中的一个属性(例如 Question.votes)。读取性能会提高,但是,取决于您愿意让您的“投票”数据变得多么陈旧,它需要对该问题记录的更多权限......反过来又会阻碍性能。
可以使用涉及缓存等的其他技术。但我只是想知道,性能方面最好的解决方案是什么?假设该网站的流量更高,并且获得的选票数量比问题多得多。
也对非关系模型开放。