事件調度器是MySQL5.1 後新增的功能,類似觸發器,不過觸發器只是針對某個表產生的事件執行一些語句,而事件調度器則是在某一個(間隔)時間執行一些語句。 事件是由一個特定的線程來管理的,也就是所謂的事件調度器。
事件調度器創建:
5. 查看事件調度器狀態,發現默認是關閉的
8. 爲了防止表變化大,創建一個新的調度器,每隔1秒清空一次testEvent表;
事件調度器創建:
1.創建測試表:testEvent
2. 創建事件調度器:test_event
3 . 查看調度器狀態:
4. 隔幾秒後,查看testEvent表,發現並沒有數據插入
5. 查看事件調度器狀態,發現默認是關閉的
6. 通過下面的命令打開調度器,同時show processlist 發現新產生下一個後臺進程:
7. 隔幾秒後,再次查看test表,發現已經有了一些數據,除了第一條(默認t添加)之外日期間隔都爲5s;
8. 爲了防止表變化大,創建一個新的調度器,每隔1秒清空一次testEvent表;
9. 如果事件調度器不再使用,可以禁用(disable)或者刪除(drop)掉:
總結: MySQL事件調度器說白了就是在指定的時間單元內執行特定的任務,也就是我們對一些數據庫的定時性操作可以不再依賴外部程序,而直接使用該特性對數據庫進行操作。 該特性可作爲定時清空數據表、監控主從服務器、彙總數據到另一張表等等,並且可以精確到每秒,實時性也可以得到保障。