Mysql下自動(dòng)刪除指定時(shí)間以前的記錄的操作方法
關(guān)于Event:mysql5.1版本開(kāi)始引進(jìn)event概念。event既“時(shí)間觸發(fā)器”,與triggers的事件觸發(fā)不同,event類(lèi)似與linux crontab計(jì)劃任務(wù),用于時(shí)間觸發(fā)。通過(guò)單獨(dú)或調(diào)用存儲(chǔ)過(guò)程使用,在某一特定的時(shí)間點(diǎn),觸發(fā)相關(guān)的SQL語(yǔ)句或存儲(chǔ)過(guò)程。
首先刪除2天以前記錄的SQL語(yǔ)句(webserver_monitormemory為表名,time為時(shí)間字段):
delete From webserver_monitormemory where DATE(time) <= DATE(DATE_SUB(NOW(),INTERVAL 2 day));
創(chuàng)建存儲(chǔ)過(guò)程:
DELIMITER // CREATE PROCEDURE autodel() -> BEGIN -> delete From webserver_monitormemory where DATE(time) <= DATE(DATE_SUB(NOW(),INTERVAL 2 day)); -> END -> // DELIMITER ;
創(chuàng)建事件,定制每天執(zhí)行autodel的存儲(chǔ)過(guò)程:
CREATE EVENT `event_auto_del_memorydata` ON SCHEDULE EVERY 1 DAY STARTS '2017-11-20 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO CALL autodel();
開(kāi)啟事件計(jì)劃(調(diào)度器)4種方法。鍵值1或者ON表示開(kāi)啟;0或者OFF表示關(guān)閉:
SET GLOBAL event_scheduler = 1; SET @@global.event_scheduler = 1; SET GLOBAL event_scheduler = ON; SET @@global.event_scheduler = ON;
查看當(dāng)前是否已開(kāi)啟事件計(jì)劃(調(diào)度器)3種方法:
SHOW VARIABLES LIKE 'event_scheduler'; SELECT @@event_scheduler; SHOW PROCESSLIST;
事件開(kāi)啟與關(guān)閉:
ALTER EVENT event_auto_del_memorydata ON COMPLETION PRESERVE ENABLE; //開(kāi)啟某事件 ALTER EVENT event_auto_del_memorydata ON COMPLETION PRESERVE DISABLE; //關(guān)閉某事件
這個(gè)是最簡(jiǎn)單但是也是最重要的,我們要手動(dòng)的啟動(dòng)這個(gè)定時(shí)器,要不然是沒(méi)法工作的。
ALTER EVENT event_time_clear_data ON COMPLETION PRESERVE ENABLE;
另外,關(guān)閉定時(shí)器的代碼是:
ALTER EVENT event_time_clear_data ON COMPLETION PRESERVE DISABLE;
刪除存儲(chǔ)過(guò)程:
DROP PROCEDURE pro_clear_data;
刪除Event:
DROP EVENT IF EXISTS event_time_clear_data1
總結(jié)
以上所述是小編給大家介紹的Mysql下自動(dòng)刪除指定時(shí)間以前的記錄的操作方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
mysql 5.7.13 winx64安裝配置方法圖文教程(win10)
這篇文章主要為大家分享了mysql 5.7.13 winx64安裝配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01
MySQL實(shí)現(xiàn)顯示百分比顯示和前百分之幾的方法
這篇文章主要介紹了MySQL中如何顯示百分比和顯示前百分之幾的,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)MySQL有一定的幫助,感興趣的小伙伴可以了解一下2021-12-12
mysql慢查詢優(yōu)化之從理論和實(shí)踐說(shuō)明limit的優(yōu)點(diǎn)
今天小編就為大家分享一篇關(guān)于mysql慢查詢優(yōu)化之從理論和實(shí)踐說(shuō)明limit的優(yōu)點(diǎn),小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-04-04
MySql數(shù)據(jù)庫(kù)單表查詢與多表連接查詢效率對(duì)比
在遇到數(shù)據(jù)之間的聯(lián)系很復(fù)雜,建表就很糾結(jié),到底該怎么去處理這些復(fù)雜的數(shù)據(jù)呢,是單表查詢,然后在業(yè)務(wù)層去處理數(shù)據(jù)間的關(guān)系,還是直接通過(guò)多表連接查詢來(lái)處理數(shù)據(jù)關(guān)系呢2021-09-09
MySQL使用MRG_MyISAM(MERGE)實(shí)現(xiàn)分表后查詢的示例
這篇文章主要介紹了MySQL使用MRG_MyISAM(MERGE)實(shí)現(xiàn)分表后查詢的示例,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫(kù),感興趣的朋友可以了解下2020-12-12

