Mic*_*ith 26 mysql cron mysql-event
我每小时都要更新我的MySQL数据库,我想知道使用cronjob VS MySQL事件的优点/缺点是什么?例如,哪个更快?哪个更安全?谢谢!
Boh*_*ian 22
我总是去做一个cron工作,因为:
最后,仅仅因为你可以做某事,并不意味着这是一个好主意.Mysql擅长数据.不要将它用于"外壳"的东西.
use*_*117 20
MySQL事件调度程序 - cron的一个很好的替代品.
我们都知道cron,这是一种安排某些进程的简单方法,比如每周截断MySQL数据库中的日志表.
使用MySQL 5.1,MySQL的人们引入了一个新的酷功能:MySQL事件调度程序!
使用事件计划程序,您可以计划要在数据库上执行的任务.这对于无法在其网站空间上创建cron作业的Web开发人员来说非常有用,因为他们的主机不会让他们这样做!它确实是cron的绝佳替代品!
几个例子:
您希望每周截断您的应用程序日志表,这就是您的事件计划应如下所示:
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
Run Code Online (Sandbox Code Playgroud)
Mysql引入了事件调度程序,我们可以使用替代Cronjob.与cronjob相比有许多优点:
1)它直接写在Mysql Server上.
2)这与平台无关.您的申请可能以任何不重要的语言撰写.你只需要知道mysql.
3)只要在规则间隔需要数据库更新或清理,我们就可以使用它们.
4)每次都不需要编译查询,因此性能提高了.
5)错误可以登录日志文件.句法:
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 ;
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请访问官方网站:http://dev.mysql.com/doc/refman/5.1/en/create-event.html
详细博客:http://goo.gl/6Hzjvg