什么是使用MySQL从详细记录创建摘要记录的最佳方法?

时间:2012-01-08 06:23:08

标签: mysql parallel-processing batch-processing

我每天可能会有1000到两千万条详细记录(统计数据和效果数据),必须将其读入,并汇总为24小时和1个每日摘要记录。

该过程计算几个字段的平均值,获取其他字段的最大值和最小值,没有明显的CPU意义。

是否更好:

A)在记录进入时将详细记录汇总到摘要记录中,稍微延迟每个详细记录插入?我假设在汇总表中会有很多锁定(选择更新等),因为有几个不同的系统导入数据。

B)等到小时结束,然后选择整个前一个小时的数据并创建摘要记录?用户会看到统计信息的延迟,但详细记录将在此期间可用。

也许还有替代方法吗?

2 个答案:

答案 0 :(得分:1)

只需为摘要表制作view即可。您的所有插页将照常工作。只需根据您的需要制作视图即可。这将使用主表自动更新。

您还可以制作每小时24小时和每日1小时的摘要。视图是存储的查询,在调用时会生成结果集。视图充当虚拟表。

有关视图的详细信息,请参阅:http://dev.mysql.com/doc/refman/5.0/en/create-view.html

如果您需要有关mysql views.

的进一步帮助,请与我们联系

答案 1 :(得分:0)

它取决于运行单个更新所需的负载,但我可能会使用单独的摘要运行。我可能会谨慎地说,单个更新所花费的时间比累积每次插入的想法要短一些。