我正在一个项目中工作,我需要根据网站上的用户交互来计算一些平均值。
现在,需要计算其总平均值的记录数量可以从几到几千不等。
我的问题是,在哪个阈值下将聚合数据存储在单独的表中并通过存储过程在每次生成新记录时更新该值而不是每次需要时都计算它是明智的?
提前致谢。
您需要权衡当前数据的需求与快速数据的需求。如果您绝对需要当前数据,那么您必须忍受更长的查询延迟。如果您绝对需要尽快获得数据,那么您将不得不处理旧数据。
您可以对查询进行计时并将插入单独的表的时间,并评估哪个似乎最适合您的需求。
不要这样做,直到您开始遇到因聚合数据所需的时间而导致的性能问题。
然后去做。
如果在生产中发现这个瓶颈是不可接受的,那么在与您的生产环境精确匹配的测试环境中运行系统,并加载与生产数据精确匹配的测试数据。如果你在那个环境中遇到了由聚合时间引起的性能瓶颈,那就去做吧。