首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是Cronjob还是MySQL事件?

是Cronjob还是MySQL事件?
EN

Stack Overflow用户
提问于 2013-02-11 12:07:37
回答 6查看 25K关注 0票数 30

我必须每小时更新我的MySQL数据库,我想知道使用cronjob与使用MySQL事件的优缺点是什么?例如,哪个更快?哪一个更安全?谢谢!

EN

回答 6

Stack Overflow用户

发布于 2013-02-11 12:58:22

MySQL事件调度器- cron的一个很好的替代品。

我们都知道cron,这是一种调度某些进程的简单方法,比如每周截断MySQL数据库中的日志表。

在MySQL 5.1中,MySQL的人引入了一个很酷的新特性: MySQL事件调度器!

使用事件计划程序,您可以计划要在数据库上执行的任务。这对于不能在他们的网站空间上创建cron作业的web开发人员来说是很棒的,因为他们的主机不允许他们这样做!它确实是cron的一个很好的替代品!

下面是几个例子:

如果您希望每周截断应用程序日志表,则事件计划应如下所示:

代码语言:javascript
复制
CREATE EVENT PurgeLogTable
ON SCHEDULE EVERY 1 WEEK
DO
BEGIN
DELETE FROM `logs` WHERE `LogTime` <= DATE_SUB(CURRENT_TIMESTAMP,INTERVAL 1 WEEK);
INSERT INTO `audit` (`AuditDate`, `Message`) VALUES(NOW(), "Log table purged succesfully!");
END
票数 24
EN

Stack Overflow用户

发布于 2013-11-04 21:58:29

Mysql引入了事件调度器,我们可以使用它来替代Cronjob。与cronjob相比,cronjob有很多优点,比如:

1)直接在Mysql Server上编写。

2)这是独立于平台的。您的应用程序可以用任何语言编写,这都无关紧要。你只需要知道mysql就行了。

3)我们可以在需要定期更新或清理数据库时使用它们。

4)不需要每次都编译查询,从而提高了性能。

5)可以在日志文件中记录错误。语法:

代码语言:javascript
复制
DELIMITER //
CREATE EVENT eventName
ON SCHEDULE EVERY 1 WEEK
STARTS 'Some Date to start'
ENDS 'End date If any' 

DO
BEGIN
   // Your query will be here
END//
DELIMITER ;

欲了解更多信息,请访问官方网站:http://dev.mysql.com/doc/refman/5.1/en/create-event.html

详细信息博客:http://goo.gl/6Hzjvg

票数 9
EN

Stack Overflow用户

发布于 2016-04-11 16:04:00

我将使用mysql事件调度

因为我们不需要为它编写一个额外的文件,所以只需编写一个查询就可以实现我们的目的。

如果只需要数据库相关的操作,那么mysql事件调度是一个很好的选择。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14805742

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档