婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > mysql的計劃任務與事件調度實例分析

mysql的計劃任務與事件調度實例分析

熱門標簽:巫師三血與酒地圖標注 在哪里申請400電話 400電話申請信用卡 銷售語音電話機器人 外呼系統電銷受騙 萊西市地圖標注 走過哪個省地圖標注 安徽ai電話電銷機器人有效果嗎 常州網絡外呼系統開發

本文實例講述了mysql的計劃任務與事件調度。分享給大家供大家參考,具體如下:

mysql事件是基于預定義的時間表運行的任務,因此有時它被稱為預定事件。mysql事件也被稱為“時間觸發”,因為它是由時間觸發的,而不是像觸發器一樣更新表來觸發的。mysql事件類似于UNIX中的cron作業或Windows中的任務調度程序。我們可以在優化數據庫表,清理日志,歸檔數據或在非高峰時間生成復雜的報告的時候使用mysql事件。

mysql使用一個名為事件調度線程的特殊線程來執行所有調度的事件。我們可以通過執行以下命令來查看事件調度程序線程的狀態:

SHOW PROCESSLIST;

執行上面查詢語句,得到以下結果:

mysql> SHOW PROCESSLIST;
+----+------+-----------------+----------+---------+------+----------+------------------+
| Id | User | Host      | db    | Command | Time | State  | Info       |
+----+------+-----------------+----------+---------+------+----------+------------------+
| 2 | root | localhost:50405 | NULL   | Sleep  | 1966 |     | NULL       |
| 3 | root | localhost:50406 | yiibaidb | Sleep  | 1964 |     | NULL       |
| 4 | root | localhost:50407 | yiibaidb | Query  |  0 | starting | SHOW PROCESSLIST |
+----+------+-----------------+----------+---------+------+----------+------------------+
3 rows in set

默認情況下,事件調度程序線程未啟用。 要啟用和啟動事件調度程序線程,需要執行以下命令:

SET GLOBAL event_scheduler = ON;

現在看到事件調度器線程的狀態,再次執行SHOW PROCESSLIST命令,結果如下所示:

mysql> SHOW PROCESSLIST;
+----+-----------------+-----------------+----------+---------+------+------------------------+------------------+
| Id | User      | Host      | db    | Command | Time | State         | Info       |
+----+-----------------+-----------------+----------+---------+------+------------------------+------------------+
| 2 | root      | localhost:50405 | NULL   | Sleep  | 1986 |            | NULL       |
| 3 | root      | localhost:50406 | luyaran | Sleep  | 1984 |            | NULL       |
| 4 | root      | localhost:50407 | luyaran | Query  |  0 | starting        | SHOW PROCESSLIST |
| 5 | event_scheduler | localhost    | NULL   | Daemon |  6 | Waiting on empty queue | NULL       |
+----+-----------------+-----------------+----------+---------+------+------------------------+------------------+
4 rows in set

要禁用并停止事件調度程序線程,可通過執行SET GLOBAL命令將event_scheduler其值設置為OFF :

SET GLOBAL event_scheduler = OFF;

我們知道,事件是一個包含SQL語句的命名對象,創建事件與創建其他數據庫對象(如存儲過程或觸發器)類似,然而,存儲過程僅在直接調用時執行; 觸發器則與一個表相關聯的事件(例如插入,更新或刪除)事件發生時,可以在一次或更多的規則間隔執行事件時執行觸發。那么,事件呢?我們接下來就嘗試使用CREATE EVENT語句,來創建事件,下面先來看下語法結構:

CREATE EVENT [IF NOT EXIST] event_name
ON SCHEDULE schedule
DO
event_body

我們來詳細看下上述sql中的參數的含義:

首先,在CREATE EVENT子句之后指定事件名稱。事件名稱在數據庫模式中必須是唯一的。

其次,在ON SCHEDULE子句后面加上一個表。如果事件是一次性事件,則使用語法:AT timestamp [+ INTERVAL],如果事件是循環事件,則使用EVERY子句:EVERY interval STARTS timestamp [+INTERVAL] ENDS timestamp [+INTERVAL]

第三,將DO語句放在DO關鍵字之后。請注意,可以在事件主體內調用存儲過程。 如果您有復合SQL語句,可以將它們放在BEGIN END塊中。

我們先來創建一個messages表來做演示:

CREATE TABLE IF NOT EXISTS messages (
  id INT PRIMARY KEY AUTO_INCREMENT,
  message VARCHAR(255) NOT NULL,
  created_at DATETIME NOT NULL
);

完事我們來使用CREATE EVENT語句創建一個事件:

CREATE EVENT IF NOT EXISTS test_event_01
ON SCHEDULE AT CURRENT_TIMESTAMP
DO
 INSERT INTO messages(message,created_at)
 VALUES('Test MySQL Event 1',NOW());

檢查messages表; 會看到有1條記錄,這意味著事件在創建時被執行:

mysql> SELECT * FROM messages;
+----+--------------------+---------------------+
| id | message      | created_at     |
+----+--------------------+---------------------+
| 1 | Test MySQL Event 1 | 2017-08-03 04:23:11 |
+----+--------------------+---------------------+
1 row in set

要顯示數據庫(testdb)的所有事件,請使用以下語句:

SHOW EVENTS FROM testdb;

執行上面查詢看不到任何行返回,因為事件在到期時自動刪除。 在我們的示例中,它是一次性的事件,在執行完成時就過期了。要更改此行為,可以使用ON COMPLETION PRESERVE子句。以下語句創建另一個一次性事件,在其創建時間1分鐘后執行,執行后不會被刪除:

CREATE EVENT test_event_02
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 MINUTE
ON COMPLETION PRESERVE
DO
  INSERT INTO messages(message,created_at)
  VALUES('Test MySQL Event 2',NOW());

等待1分鐘后,查看messages表,添加了另一條記錄:

mysql> SELECT * FROM messages;
+----+--------------------+---------------------+
| id | message      | created_at     |
+----+--------------------+---------------------+
| 1 | Test MySQL Event 1 | 2017-08-03 04:23:11 |
| 2 | Test MySQL Event 2 | 2017-08-03 04:24:48 |
+----+--------------------+---------------------+
2 rows in set

如果再次執行SHOW EVENTS語句,看到事件是由于ON COMPLETION PRESERVE子句的影響:

mysql> SHOW EVENTS FROM testdb;
+--------+---------------+----------------+-----------+----------+---------------------+----------------+----------------+--------+------+----------+------------+----------------------+----------------------+--------------------+
| Db   | Name     | Definer    | Time zone | Type   | Execute at     | Interval value | Interval field | Starts | Ends | Status  | Originator | character_set_client | collation_connection | Database Collation |
+--------+---------------+----------------+-----------+----------+---------------------+----------------+----------------+--------+------+----------+------------+----------------------+----------------------+--------------------+
| testdb | test_event_02 | root@localhost | SYSTEM  | ONE TIME | 2017-08-03 04:24:48 | NULL      | NULL      | NULL  | NULL | DISABLED |     0 | utf8         | utf8_general_ci   | utf8_general_ci  |
+--------+---------------+----------------+-----------+----------+---------------------+----------------+----------------+--------+------+----------+------------+----------------------+----------------------+--------------------+
1 row in set

我們再來創建一個循環的事件,每分鐘執行一次,并在其創建時間的1小時內過期:

CREATE EVENT test_event_03
ON SCHEDULE EVERY 1 MINUTE
STARTS CURRENT_TIMESTAMP
ENDS CURRENT_TIMESTAMP + INTERVAL 1 HOUR
DO
  INSERT INTO messages(message,created_at)
  VALUES('Test MySQL recurring Event',NOW());

我們要注意,我們使用STARTS和ENDS子句定義事件的有效期。等待個3,5分鐘后再查看messages表數據,以測試驗證此循環事件的執行:

mysql> SELECT * FROM messages;
+----+----------------------------+---------------------+
| id | message          | created_at     |
+----+----------------------------+---------------------+
| 1 | Test MySQL Event 1     | 2017-08-03 04:23:11 |
| 2 | Test MySQL Event 2     | 2017-08-03 04:24:48 |
| 3 | Test MySQL recurring Event | 2017-08-03 04:25:20 |
| 4 | Test MySQL recurring Event | 2017-08-03 04:26:20 |
| 5 | Test MySQL recurring Event | 2017-08-03 04:27:20 |
+----+----------------------------+---------------------+
5 rows in set

完事我們可以使用DROP EVENT語句來刪除事件,看下語法結構:

DROP EVENT [IF EXISTS] event_name;

要刪除test_event_03的事件,我們可以使用如下sql:

DROP EVENT IF EXISTS test_event_03;

好啦,本次記錄就到這里了。

更多關于MySQL相關內容感興趣的讀者可查看本站專題:《MySQL索引操作技巧匯總》、《MySQL常用函數大匯總》、《MySQL日志操作技巧大全》、《MySQL事務操作技巧匯總》、《MySQL存儲過程技巧大全》及《MySQL數據庫鎖相關技巧匯總》

希望本文所述對大家MySQL數據庫計有所幫助。

您可能感興趣的文章:
  • MySQL計劃任務(事件調度器) Event Scheduler介紹
  • MySQL定時任務(EVENT事件)如何配置詳解
  • 帶你了解MySQL中的事件調度器EVENT
  • mysql事件之修改事件(ALTER EVENT)、禁用事件(DISABLE)、啟用事件(ENABLE)、事件重命名及數據庫事件遷移操作詳解
  • mysql定時任務(event事件)實現詳解
  • 老生常談mysql event事件調度器(必看篇)
  • MySQL binlog中的事件類型詳解
  • 詳解MySQL用事件調度器Event Scheduler創建定時任務
  • 逐步講解MySQL中定時事件計劃的創建
  • MySQL的事件調度器使用介紹
  • mysql事件的開啟和調用
  • MySQL 使用事件(Events)完成計劃任務

標簽:果洛 鞍山 河北 來賓 黃石 赤峰 陽江 煙臺

巨人網絡通訊聲明:本文標題《mysql的計劃任務與事件調度實例分析》,本文關鍵詞  mysql,的,計劃,任務,與,事件,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《mysql的計劃任務與事件調度實例分析》相關的同類信息!
  • 本頁收集關于mysql的計劃任務與事件調度實例分析的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    成人免费视频一区| 洋洋av久久久久久久一区| 亚洲精品日产精品乱码不卡| 欧美视频一区在线观看| 日韩精品电影一区亚洲| 亚洲国产电影在线观看| 欧美午夜一区二区| 国产美女精品人人做人人爽| 亚洲综合在线免费观看| 久久综合一区二区| 国产成人精品亚洲777人妖| 亚洲一区二区不卡免费| 国产日本欧洲亚洲| 欧美一区二区视频在线观看2022| 国产精品自拍av| 麻豆成人久久精品二区三区小说| 中文字幕日韩一区| 久久人人爽爽爽人久久久| 欧美日韩在线播放| 色乱码一区二区三区88| 国产91精品一区二区麻豆亚洲| 亚洲一区二区三区在线看| 欧美高清一级片在线观看| 91精品国产91久久久久久一区二区| 北条麻妃一区二区三区| 国产一区二区三区在线观看精品| 亚洲国产精品一区二区www| 中文字幕亚洲电影| 中文字幕精品一区二区三区精品| 日韩精品最新网址| 欧美日韩国产综合一区二区| 99久久国产免费看| 视频一区中文字幕| 亚洲成av人片观看| 亚洲成av人影院| 亚洲国产中文字幕在线视频综合 | 日韩国产精品91| 自拍偷拍亚洲欧美日韩| 久久免费视频色| 久久亚洲精精品中文字幕早川悠里| 欧美一级黄色片| 7777精品伊人久久久大香线蕉经典版下载| 成人av网在线| 99久久国产综合精品麻豆| 99精品偷自拍| 亚洲成av人片一区二区三区| 亚洲一区二区av电影| 一区2区3区在线看| 亚洲一区二区三区中文字幕 | 国产·精品毛片| 国产在线精品免费av| 国产一区二区女| 99热精品一区二区| 在线观看亚洲成人| 欧美挠脚心视频网站| 欧美三级电影在线看| 日韩三级伦理片妻子的秘密按摩| 日韩精品影音先锋| 国产日韩欧美电影| 亚洲人妖av一区二区| 亚洲电影你懂得| 国模娜娜一区二区三区| 成人综合在线观看| 不卡一区二区在线| 日韩一区二区免费视频| 2017欧美狠狠色| 亚洲三级在线免费| 日本美女一区二区| 国产成人av电影| 91国偷自产一区二区三区观看| 欧美精品第1页| 国产日产欧美精品一区二区三区| 91精品国产综合久久香蕉的特点| 久久久精品tv| 亚洲国产精品影院| 蜜臀av性久久久久蜜臀aⅴ流畅| 日韩欧美电影在线| 色系网站成人免费| 久久精品在线观看| 日本亚洲最大的色成网站www| 99视频精品免费视频| 日本一区二区三区dvd视频在线 | 蜜臀av性久久久久蜜臀aⅴ流畅| 色综合久久久久久久久久久| 欧美极品xxx| 国产成人综合亚洲网站| 欧美成人bangbros| 精品在线观看视频| 精品国产不卡一区二区三区| 久久国产生活片100| 欧美大片一区二区三区| 欧美国产精品v| 亚洲444eee在线观看| 91小视频免费观看| 中文字幕在线观看一区| 国产福利一区在线观看| 国产亚洲欧洲997久久综合 | 亚洲视频一二三区| 95精品视频在线| 亚洲蜜臀av乱码久久精品蜜桃| 不卡区在线中文字幕| 亚洲人成人一区二区在线观看| 99天天综合性| 夜夜嗨av一区二区三区网页| 91久久久免费一区二区| 午夜激情久久久| 亚洲精品在线免费观看视频| 国产精品18久久久久久久网站| 国产亚洲综合av| 91亚洲精品一区二区乱码| 亚洲人成小说网站色在线| 欧美视频精品在线观看| 亚洲国产精品久久久男人的天堂 | 日本网站在线观看一区二区三区| 欧美精品18+| 国产精品888| 亚洲欧美日韩国产一区二区三区 | 成人国产免费视频| 一区二区在线观看免费| 欧美人妇做爰xxxⅹ性高电影| 麻豆久久一区二区| 国产精品久线观看视频| 在线不卡免费欧美| www.亚洲国产| 日欧美一区二区| 中文av一区二区| 678五月天丁香亚洲综合网| 国产另类ts人妖一区二区| 亚洲美女少妇撒尿| 久久尤物电影视频在线观看| 99久久婷婷国产综合精品 | 久久久久久久久久久久电影| 99国产精品99久久久久久| 三级影片在线观看欧美日韩一区二区| 久久精品日产第一区二区三区高清版| 在线免费av一区| 国产精品资源站在线| 亚洲国产乱码最新视频| 国产欧美综合在线观看第十页| 在线观看av不卡| 成人激情文学综合网| 久久精品国产亚洲高清剧情介绍| 亚洲视频一二区| 欧美韩日一区二区三区| 日韩欧美中文字幕制服| 在线观看亚洲精品视频| 风间由美一区二区三区在线观看 | 成人av网址在线观看| 视频精品一区二区| 亚洲黄色尤物视频| 中文乱码免费一区二区| 日韩精品专区在线影院重磅| 在线看国产一区| 成a人片亚洲日本久久| 国内外成人在线| 日韩精品91亚洲二区在线观看 | 日韩视频中午一区| 欧美性感一区二区三区| 91香蕉国产在线观看软件| 国产乱码一区二区三区| 国内精品伊人久久久久av影院 | 99国产欧美另类久久久精品| 精品一区二区在线看| 日本在线不卡视频一二三区| 亚洲国产日韩a在线播放性色| 亚洲欧洲成人精品av97| 亚洲欧洲另类国产综合| 国产精品免费aⅴ片在线观看| 欧美电影精品一区二区| 日韩一区二区视频| 日韩美女主播在线视频一区二区三区| 欧美高清激情brazzers| 欧美久久一二区| 91精品国产综合久久精品性色| 91精品国产综合久久精品图片| 3751色影院一区二区三区| 欧美一区二区二区| 精品国产91洋老外米糕| 久久久亚洲高清| 国产精品福利一区二区| 亚洲精品水蜜桃| 亚欧色一区w666天堂| 日韩成人午夜精品| 国内精品在线播放| 成人av在线网站| 欧美色综合天天久久综合精品| 91精品国产综合久久久久久久 | 性久久久久久久久久久久| 亚洲一区自拍偷拍| 日韩va欧美va亚洲va久久| 麻豆精品视频在线观看视频| 国内精品嫩模私拍在线| 国产福利一区二区三区在线视频| 成人中文字幕在线| 色婷婷综合久久久中文字幕| 欧美午夜在线一二页| 欧美成人精精品一区二区频| 国产丝袜欧美中文另类| 国产精品人妖ts系列视频| 一区二区三区精密机械公司|