(ZZ)mysql创办定时任务

(ZZ)mysql创办定时任务

(ZZ)mysql创建定时任务

一、前言
  自 MySQL5.1.6起,增加了一个非常有特色的功能–事件调度器(Event Scheduler),可以用做定时执行某些特定任务(例如:删除记录、对数据进行汇总等等),来取代原先只能由操作系统的计划任务来执行的工作。更值得 一提的是MySQL的事件调度器可以精确到每秒钟执行一个任务,而操作系统的计划任务(如:Linux下的CRON或Windows下的任务计划)只能精 确到每分钟执行一次。对于一些对数据实时性要求比较高的应用(例如:股票、赔率、比分等)就非常适合。
  事件调度器有时也可称为临时触发器(temporal triggers),因为事件调度器是基于特定时间周期触发来执行某些任务,而触发器(Triggers)是基于某个表所产生的事件触发的,区别也就在这里。
  在使用这个功能之前必须确保event_scheduler已开启,可执行
  
  SET GLOBAL event_scheduler = 1;
   —或我们可以在配置my.cnf文件 中加上 event_scheduler = 1
  
  或
  
  SET GLOBAL event_scheduler = ON;
  
  来开启,也可以直接在启动命令加上“–event_scheduler=1”,例如:
  
  mysqld … –event_scheduler=1
  
  要查看当前是否已开启事件调度器,可执行如下SQL:
  
  SHOW VARIABLES LIKE ‘event_scheduler’;
  
  或
  
  SELECT @@event_scheduler;
  
  或
  
  SHOW PROCESSLIST;
  
  二、创建事件(CREATE EVENT)
  先来看一下它的语法:
  
  

1 CREATE?EVENT [IFNOT?EXISTS] event_name
2   ?ONSCHEDULE schedule
3    [ONCOMPLETION [NOT] PRESERVE]
4    [ENABLE | DISABLE]
5    [COMMENT?'comment']
6    DO sql_statement;

  
  schedule:
   AT TIMESTAMP [+ INTERVAL INTERVAL]
   | EVERY INTERVAL [STARTS TIMESTAMP] [ENDS TIMESTAMP]
  
  INTERVAL:
   quantity {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE |
   WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE |
   DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND}
  
  1) 首先来看一个简单的例子来演示每秒插入一条记录到数据表
  
  

1 USE test;
2   CREATETABLE?aaa (timeline?TIMESTAMP);
3   CREATEEVENT e_test_insert
4   ?ONSC

免责声明: 本文仅代表作者个人观点,与无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。

相关资料

推荐阅读

友情链接:
Copyright © 2013-2023 页 当前在线:357人  网站在2时32分53秒内访问总人数:28118人 当前 5.00%  

(ZZ)mysql创办定时任务

相关文章:

你感兴趣的文章:

标签云: