国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

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

2024-07-24 12:41:40
字體:
來源:轉載
供稿:網友

本文實例講述了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_nameON SCHEDULE scheduleDOevent_body

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 广灵县| 景泰县| 黄骅市| 盐边县| 呈贡县| 济宁市| 盐亭县| 前郭尔| 普兰店市| 汉源县| 花莲县| 黔西| 灵寿县| 阿克陶县| 张北县| 浑源县| 会泽县| 武冈市| 温州市| 赤城县| 光山县| 玉龙| 南平市| 师宗县| 连南| 吴忠市| 武强县| 图们市| 孟州市| 长顺县| 上饶市| 西华县| 古交市| 成都市| 郸城县| 富平县| 陵水| 仁化县| 迭部县| 霍林郭勒市| 长子县|