如何使新闻提供"友好"的数据库设计,以便将所有项目(查询)放入新闻源中并不是非常昂贵?我能想到的唯一方法是将UNIONing几乎每个表(代表组,注释,朋友等)和获取日期等等,这似乎是为每个用户运行一个非常昂贵的查询,它如果每个人都与众不同,就很难缓存这样的东西.
首先,考虑做一个性能原型来检查你的预感,工会太贵了.您可能会过早地优化不是问题的事情.
如果这是一个真正的问题,请考虑一个纯粹用于保存事件订阅源数据的表,该表必须与其他表并行更新.
例如,在创建Note记录时,还要在Event表中创建一个事件记录,其中包含日期,描述和用户.
考虑根据UserId(或UserId和Date)索引Event表.还可以考虑在不再需要时清除旧数据.
这不是规范化的架构,但如果获取事件源是一种频繁的操作,则可能会更快.