V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
AlloVince
V2EX  ›  程序员

请教MySQL定时生成报表的最佳方式

  •  
  •   AlloVince ·
    AlloVince · 2013-08-21 10:55:46 +08:00 · 3312 次点击
    这是一个创建于 4119 天前的主题,其中的信息可能已经有所发展或是发生改变。
    现在有一个需求,要将MySQL里的类似log的记录,按每分钟、每5分钟、每小时等等要求,整理并生成新的数据。

    我能想到做这件事可能有若干种方法:

    1. 通过Mysql事件调度器(Event Scheduler),Mysql定时自己执行

    2. 通过MySQL Trigger, log数据表每次插入时执行整理操作

    3. 通过编程语言连接数据库,在编程语言中整理数据并插入数据表,同时用守护进程运行这个程序。

    前两种方法可以比较好的保证数据的完整性,但是log数据插入非常频繁,可能会引发一些性能问题,SQL的编写也比较有难度。

    方法3相对灵活,但是需要额外维护,还需要对异常情况做很多额外处理。

    请教一下有类似需求的同学都是如何实现的?
    1 条回复    1970-01-01 08:00:00 +08:00
    mechille
        1
    mechille  
       2013-08-21 11:06:01 +08:00
    用的3,CRONTAG定期执行,个人觉得方便
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1043 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 19:21 · PVG 03:21 · LAX 11:21 · JFK 14:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.