我很痛苦地意识到这可能没有灵丹妙药,但这已经成为一个问题。每个用户在3个表中都有数十万行度量标准数据,这是逐秒更新的。
当用户登录时,我希望快速为他们的一些资产提供最高分数(即在navi中他们拥有最高级别统计数据的每个资产)。
我尝试了很多想法;但请 - 如果有人在这方面有一些建议或经验,那就太好了。到目前为止尝试或研究过的东西: -
第一个似乎有大部分腿,但我不知道如何做到这一点,因为只有少数用户需要这些数据 - 看起来非常昂贵,一直为大家所做。 / p>
答案 0 :(得分:2)
mySQL中的选项1和3被称为materialized view MySQL目前不支持它们但是概念可以完成链接提供示例
成千上万的记录并不是那么多。好的索引和analytic queries的使用会让你走得很远。可悲的是,这个概念并没有完全实现,但是在提供的链接中也有解决方法。
这实际上取决于顶线统计数据。你想要实时数据到第二个或10-20甚至30分钟的间隔是否可以接受?使用event scheduler可以安排创建/更新报告表,其中包含更快查询的汇总数据。由于所有繁重的工作已经完成,因此这些数据可以在几分之一秒的交货时间内获得。然后,您可以关注索引这些表以提高性能,而不必担心对生产表的影响。
答案 1 :(得分:0)
您在设置中位于datawarehousing域中。这意味着,并非所有NF1规则都适用。所以我的方法是使用触发器填充单独的统计表。