我每天可能会有1000到两千万条详细记录(统计数据和效果数据),必须将其读入,并汇总为24小时和1个每日摘要记录。
该过程计算几个字段的平均值,获取其他字段的最大值和最小值,没有明显的CPU意义。
是否更好:
A)在记录进入时将详细记录汇总到摘要记录中,稍微延迟每个详细记录插入?我假设在汇总表中会有很多锁定(选择更新等),因为有几个不同的系统导入数据。
B)等到小时结束,然后选择整个前一个小时的数据并创建摘要记录?用户会看到统计信息的延迟,但详细记录将在此期间可用。
也许还有替代方法吗?
答案 0 :(得分:1)
只需为摘要表制作view
即可。您的所有插页将照常工作。只需根据您的需要制作视图即可。这将使用主表自动更新。
您还可以制作每小时24小时和每日1小时的摘要。视图是存储的查询,在调用时会生成结果集。视图充当虚拟表。
有关视图的详细信息,请参阅:http://dev.mysql.com/doc/refman/5.0/en/create-view.html
如果您需要有关mysql views.
答案 1 :(得分:0)
它取决于运行单个更新所需的负载,但我可能会使用单独的摘要运行。我可能会谨慎地说,单个更新所花费的时间比累积每次插入的想法要短一些。