MySQL點滴學習之事件調度器

事件調度器是MySQL5.1 後新增的功能,類似觸發器,不過觸發器只是針對某個表產生的事件執行一些語句,而事件調度器則是在某一個(間隔)時間執行一些語句。 事件是由一個特定的線程來管理的,也就是所謂的事件調度器。

事件調度器創建:

1.創建測試表:testEvent


 

2. 創建事件調度器:test_event



 

3 . 查看調度器狀態:



 

 4.    隔幾秒後,查看testEvent表,發現並沒有數據插入



 

5. 查看事件調度器狀態,發現默認是關閉的


6.     通過下面的命令打開調度器,同時show processlist 發現新產生下一個後臺進程:




7. 隔幾秒後,再次查看test表,發現已經有了一些數據,除了第一條(默認t添加)之外日期間隔都爲5s;



 
8.  爲了防止表變化大,創建一個新的調度器,每隔1秒清空一次testEvent表;


 隔一段時間後,發現testEvent表中數據會定期清空,這類觸發器很適合去定期清空臨時表或者日誌表。


9. 如果事件調度器不再使用,可以禁用(disable)或者刪除(drop)掉:

 


總結: MySQL事件調度器說白了就是在指定的時間單元內執行特定的任務,也就是我們對一些數據庫的定時性操作可以不再依賴外部程序,而直接使用該特性對數據庫進行操作。 該特性可作爲定時清空數據表、監控主從服務器、彙總數據到另一張表等等,並且可以精確到每秒,實時性也可以得到保障。



發佈了181 篇原創文章 · 獲贊 405 · 訪問量 34萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章