站長(zhǎng)資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        通過(guò)實(shí)例講解mysql如何實(shí)現(xiàn)定時(shí)任務(wù)

        通過(guò)實(shí)例講解mysql如何實(shí)現(xiàn)定時(shí)任務(wù)

        自MySQL5.1.6起,增加了一個(gè)非常有特色的功能-事件調(diào)度器(Event Scheduler),可以用做定時(shí)執(zhí)行某些特定任務(wù)(例如:刪除記錄、對(duì)數(shù)據(jù)進(jìn)行匯總、數(shù)據(jù)備份等等),來(lái)取代原先只能由操作系統(tǒng)的計(jì)劃任務(wù)來(lái)執(zhí)行的工作。

        更值得一提的是MySQL的事件調(diào)度器可以精確到每秒鐘執(zhí)行一個(gè)任務(wù),而操作系統(tǒng)的計(jì)劃任務(wù)(如:Linux的cron或Windows下的任務(wù)計(jì)劃)只能精確到每分鐘執(zhí)行一次。對(duì)于一些對(duì)數(shù)據(jù)實(shí)時(shí)性要求比較高的應(yīng)用(例如:股票、賠率、比分等)就非常適合。

        事件調(diào)度器有時(shí)也可以稱為臨時(shí)觸發(fā)器(temporal triggers),因?yàn)槭录{(diào)度器是基于特定時(shí)間周期觸發(fā)來(lái)執(zhí)行某些任務(wù),而觸發(fā)器(Triggers)是基于某個(gè)表所產(chǎn)生的事件觸發(fā)的,區(qū)別也就在這里。

        一、查看是否開啟

        > show variables like 'event_scheduler';

        二、開啟事件調(diào)度器

        set global event_scheduler = on;

        這里的設(shè)置,當(dāng)mysql重啟后,又會(huì)自動(dòng)關(guān)閉。如果需要一直開啟,需要在my.ini中配置如下:

        (推薦學(xué)習(xí)視頻教程:mysql視頻教程)

        event_scheduler = on

        三、創(chuàng)建事件語(yǔ)法

        CREATE EVENT [IF NOT EXISTS ] event_name ON SCHEDULE schedule [ ON COMPLETION [ NOT ] PRESERVE ] [ ENABLE | DISABLE ] [ COMMENT '注釋' ] DO SQL語(yǔ)句;    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 }

        event_name:事件名,最大長(zhǎng)度64個(gè)字符。

        schedule:執(zhí)行時(shí)間。

        [ ON COMPLETION [ NOT ] PRESERVE ] :事件是否需要復(fù)用。

        [ ENABLE | DISABLE ] :事件開啟或關(guān)閉。

        四、關(guān)閉事件

        ALTER EVENT event_name DISABLE;

        五、開啟事件

        ALTER EVENT event_name ENABLE;

        六、刪除事件

        DROP EVENT [IF EXISTS ] event_name;

        七、查看所有事件

        SHOW EVENTS;

        八、事件例子

        我們先創(chuàng)建一個(gè)簡(jiǎn)單的test表用于測(cè)試

        CREATE TABLE `test` (  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',  `now` datetime DEFAULT NULL COMMENT '時(shí)間',  PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

        事件類型有兩種,一種是間隔觸發(fā),一種是特定時(shí)間觸發(fā)。

        我們每隔一秒向test表插入一條記錄:

        DROP EVENT IF EXISTS event_test; CREATE EVENT event_test ON SCHEDULE EVERY 1 SECOND STARTS '2017-08-22 11:57:00' ENDS '2017-08-22 12:00:00' ON COMPLETION PRESERVE ENABLE COMMENT '每隔一秒向test表插入記錄' DO INSERT INTO test VALUES(NULL, now());

        結(jié)果如圖:

        通過(guò)實(shí)例講解mysql如何實(shí)現(xiàn)定時(shí)任務(wù)

        相關(guān)文章教程推薦:mysql教程

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
        主站蜘蛛池模板: 精品久久久久久国产三级| 日韩精品一二三区| 四虎国产精品成人| 久久精品国产亚洲网站| 在线观看91精品国产网站| 国产欧美日本精品| 麻豆精品久久精品色综合| 国产精品无码a∨精品| 亚洲国产精品无码久久久不卡| 精品一区二区三区四区在线| 久久这里只精品国产99热| 国产福利精品一区二区| 久久亚洲精品成人AV| 伊人久久精品无码av一区| 成人国内精品久久久久一区| 日韩精品中文字幕第2页| 国产精品99久久不卡| 午夜精品在线观看| 国产精品臀控福利在线观看 | 久久精品人人做人人爽97| 偷拍精品视频一区二区三区| 久久人人超碰精品CAOPOREN| 国产午夜精品久久久久九九电影| 国产成人精品免费大全| 国产高清一级毛片精品| 99久久精品免费| 国产vA免费精品高清在线观看 | 2022国内精品免费福利视频| 少妇人妻精品一区二区三区| 少妇亚洲免费精品| 无码国模国产在线无码精品国产自在久国产 | 自拍偷在线精品自拍偷 | 国产精品美女网站| 久久99国产精品久久99| 国产99精品久久| 国产精品va无码一区二区| 97久久精品无码一区二区| 精品国产日产一区二区三区| 四虎国产精品免费观看| 99视频在线精品国自产拍亚瑟 | 影院无码人妻精品一区二区|