美文网首页
mysql的触发器以及事件调度器实现定时更新数据库

mysql的触发器以及事件调度器实现定时更新数据库

作者: 史史小子 | 来源:发表于2018-01-24 11:57 被阅读765次

        最近项目中需要实现一个功能,定时更新数据库中不正常的数据,因为服务器是windows的,所以linux的crontab不可用,而windows的bat调用感觉不太好,框架用的是tp5,tp框架定时任务总是要主动触发才能生效,所以最终选择了mysql的事件调度器结合触发器实现。

1:查看mysql是否开启了事件,如果是OFF或者0,表示是关闭的。

show VARIABLES LIKE '%sche%';      //查看状态

SET GLOBAL event_scheduler = 1       //开启

2:创建event要调用的存储过程demo-proce

delimiter //

drop procedure if exists demo_proce//

create procedure demo_proce()

begin

update demo set status=0 where (status=1) and (unix_timestamp(now()) -modify_time)>30;

end//

delimiter ;

3:创建事件demo_event(每10秒自动调用存储过程)

create event demo_event

on schedule every 10 second

 on completion preserve disable

 do call demo_proce();

4:开启事件demo_event

alter event demo_event on completion preserve enable;

5:关闭事件demo_event

alter event demo_event on completion preserve disable;

6:查看创建的event

select * from mysql.event;

        整个过程大概就是这样的,经过测试能用,但是不知道执行效率怎么样,也不知道怎么测试同linux的定时任务效率,但是感觉应该执行效率会好点,因为mysql的底层是c语言开发的,每次操作sql语句,要先编译成c语言,但是结合了存储过程,只需要编译一次就可以了,所以从这方面来看,使用事件调度效果会好些。(其实我是菜鸟,瞎猜的)

相关文章

  • mysql的触发器以及事件调度器实现定时更新数据库

    最近项目中需要实现一个功能,定时更新数据库中不正常的数据,因为服务器是windows的,所以linux的cront...

  • mysql-触发器

    MySQL定时触发器 mysql可以实现定时触发功能,比如说定于某某时间mysql数据库做什么工作,或每隔多长时间...

  • 定时任务框架Quartz

    定时任务框架! 定时任务就是分为三个模块:任务、触发器、调度器 过程就是,调度器协调触发器来再固定时间去触发任务!

  • 2019-03-26

    MYSQL数据库触发器 在 插入 更新 删除 数据时触发事件 delect from xs.kc where xs...

  • mysql 事件调度event_scheduler

    mysql自身提供了定时调度的功能 开启关闭 MySQL事件调度器event_scheduler负责调用事件,它默...

  • mysql设置定时任务

    定时对数据库进行简单的操作,比如清理日志,可通过设置定时事件交由mysql事件调度器完成,而不用在应用程序中去写定...

  • (014)mysql中的事件

    概述 事件调度器是MySQL5.1后新增的功能,可以将数据库按自定义的时间周期触发某种操作,可以理解为时间触发器,...

  • quartz入门

    定义一个类实现Job接口(需要定时执行的代码写在这里面) 获取触发器Tigger,获取调度器,将触发器和任务绑定到...

  • Mysql中的触发器

    触发器 MySQL包含对触发器的支持。触发器是一种与表操作有关的数据库对象,当触发器所在表上出现指定事件时,将调用...

  • MySQL学习---触发器

    触发器讲解MySQL包含对触发器的支持。触发器是一种与表操作有关的数据库对象,当触发器所在表上出现指定事件时,将调...

网友评论

      本文标题:mysql的触发器以及事件调度器实现定时更新数据库

      本文链接:https://www.haomeiwen.com/subject/huayaxtx.html