我痛苦地意识到这可能没有灵丹妙药,但它正在成为一个问题。每个用户都有数十万行跨 3 个表的指标数据,这些数据每秒更新一次。
当用户登录时,我想快速为他们提供一些资产的顶级统计数据(即在导航中的每个资产旁边,他们都有顶级统计数据)。
我尝试了很多想法;但是请-如果有人在这方面有一些建议或经验,那就太好了。到目前为止尝试或研究的东西:-
- 每小时左右生成顶级统计数据的静态版本 - 这对所有用户和所有资产都是密集的。因此,如何定期执行此操作,我不确定。
- 通过 AJAX 调用统计信息,以便在页面加载后对其进行处理和填写(对于较大的用户来说,现在获取顶级统计信息最多需要 10 秒)。这也可以在会话中缓存统计信息,以节省每次页面加载的重做查询。
- 查询以 30 分钟的间隔运行,即您登录,它会查询,然后它希望每次加载(仅 1/2 秒)时都使用查询缓存,直到下一个 30 分钟的间隔。
第一个似乎拥有最多的腿,但我不知道如何做到这一点,因为只有少数用户需要这些统计数据 - 一直为每个人做这件事似乎非常昂贵。