2012-01-08 151 views
0

我每天可能会有一千万到两千万个详细记录(统计数据和性能数据),必须将其读入并汇总为每小时24小时摘要记录和每日1个摘要记录。用MySQL创建简要记录的最佳方式是什么?

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

是更好地:

A)总结了详细记录入简要记录而记录进来,延缓每一个细节记录略微插入?我假设在汇总表中会有很多锁定(选择update等),因为有几个不同的系统导入数据。 B)等到小时结束,然后选择以前的整个小时数据并创建摘要记录?

B)用户看到统计信息会有延迟,但详细记录在此期间可用。

也许有替代方法呢?

回答

1

只需为view汇总表。你的所有插入将照常工作。只需根据您的需求作出总结即可。这将自动更新主表。

你也可以做24小时和1每日摘要基础。视图是存储的查询,当调用时产生结果集。视图充当虚拟表格。

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

让我知道,如果你想进一步有关援助mysql views.

+0

我只关心创建它的查询会杀死服务器,否则,为什么我不会为运行时报告创建相同的查询而不是创建视图?目前数据库中有50亿行。也许我错过了一些东西(视图的优点?) – MichaelICE 2012-01-08 14:31:16

+0

MYSQL支持物化视图吗? – MichaelICE 2012-01-08 21:48:05

+0

是的,你可以。看看这里http://fromdual.com/mysql-materialized-views – 2012-01-09 01:03:12

0

它会依赖于运行单个更新所需的负载,但我可能会去用一个单独的总结运行。我可能会投入一个小小的赌注,说一次更新所花费的时间会比累计每插入一次的想法短。

相关问题