欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL定時(shí)任務(wù),清理表數(shù)據(jù)方式

 更新時(shí)間:2022年11月16日 11:44:16   作者:lonecloud  
這篇文章主要介紹了MySQL定時(shí)任務(wù),清理表數(shù)據(jù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

MySQL定時(shí)清理表數(shù)據(jù)

針對(duì)一些每天都會(huì)產(chǎn)生大量數(shù)據(jù)的表,比如說(shuō)報(bào)警、日志表等,數(shù)據(jù)量太大占用了較多的空間,可以選擇定時(shí)清理這些表,只保留一段時(shí)間內(nèi)的數(shù)據(jù)

對(duì)某個(gè)表只保留一個(gè)月內(nèi)的數(shù)據(jù)

查看是否開(kāi)啟MySQL定時(shí)任務(wù)

# 顯示為ON則已開(kāi)啟
SHOW VARIABLES LIKE 'event_scheduler';

顯示為ON表示已經(jīng)開(kāi)啟

若未開(kāi)啟,可以手動(dòng)開(kāi)啟

在my.cnf(windows下是my.ini)添加配置 event_scheduler=ON

添加完畢后,重啟MySQL服務(wù)即可

也可以通過(guò)語(yǔ)句方式開(kāi)啟,但是這種方式只在當(dāng)前啟動(dòng)的實(shí)例有效,重啟MySQL服務(wù)后就會(huì)失效

set global event_scheduler=1;

創(chuàng)建存儲(chǔ)過(guò)程

CREATE PROCEDURE `del_data_count`(IN date_inter INT)
BEGIN
DELETE FROM alarminfo
WHERE
(TO_DAYS(NOW()) - TO_DAYS(alarmTime))>=date_inter; # 當(dāng)前系統(tǒng)時(shí)間減去表的時(shí)間字段名
END

創(chuàng)建事件

# 創(chuàng)建事件
CREATE EVENT `del_tbl_expired_data`
# 表示創(chuàng)建時(shí)間定時(shí)周期,以及開(kāi)始時(shí)間,該處表示從明天1點(diǎn)從開(kāi)始,每天執(zhí)行一次該任務(wù)
ON SCHEDULE EVERY '1' DAY STARTS DATE_ADD(DATE_ADD(CURDATE(), INTERVAL 1 DAY), INTERVAL 1 HOUR)
# 表示創(chuàng)建后并不開(kāi)始生效
ON COMPLETION PRESERVE DISABLE
# 執(zhí)行存儲(chǔ)過(guò)程,刪除30天之前的數(shù)據(jù)
DO CALL del_data_count (30);

相關(guān)語(yǔ)句:

# 查看已有定時(shí)事件任務(wù)
SHOW EVENTS; 
# 開(kāi)啟事件
alter event event_name on completion preserve enable;
# 關(guān)閉事件
alter event event_name on completion preserve disable;

MySQL定時(shí)自動(dòng)刪除數(shù)據(jù)表

描述

自MySQL5.1.6起,增加了一個(gè)非常有特色的功能–事件調(diào)度器(EventScheduler),可以用做定時(shí)執(zhí)行某些特定任務(wù)(例如:刪除記錄、對(duì)數(shù)據(jù)進(jìn)行匯總等等),來(lái)取代原先只能由操作系統(tǒng)的計(jì)劃任務(wù)來(lái)執(zhí)行的工作。

更值得一提的是MySQL的事件調(diào)度器可以精確到每秒鐘執(zhí)行一個(gè)任務(wù),而操作系統(tǒng)的計(jì)劃任務(wù)(如:Linux下的CRON或Windows下的任務(wù)計(jì)劃)只能精確到每分鐘執(zhí)行一次。

對(duì)于一些對(duì)數(shù)據(jù)實(shí)時(shí)性要求比較高的應(yīng)用(例如:股票、賠率、比分等)就非常適合。

開(kāi)啟事件調(diào)度器

1、確認(rèn)是否開(kāi)啟

SHOW VARIABLES LIKE 'event_scheduler';

2、開(kāi)啟命令

SET GLOBAL event_scheduler = ON;

創(chuàng)建事件<創(chuàng)建后默認(rèn)開(kāi)啟>

CREATE EVENT [IF NOT EXISTS] event_name ON SCHEDULE schedule
?[ON COMPLETION [NOT] PRESERVE] [ENABLE | DISABLE] [COMMENT 'comment']

?DO sql_statement;?

例如:

1.每分鐘(60S)清空一次記錄表

use database_name;
create event table_truncate on schedule every 60 second do truncate table operator_record_log;

2.每30天(2592000S)清空30天前的所有記錄,僅保留近30天數(shù)據(jù)

use database_name;
create event table_truncate on schedule every 2592000 second do delete from operator_record_log where create_date < DATE_SUB(CURDATE(),INTERVAL 30 DAY);

3.指定時(shí)間將表清空

use database_name;
create event table_truncate on schedule at timestamp '2022-01-01 00:00:00' do truncate table operator_record_log;

4.每天定時(shí)清空

use database_name;
create event table_truncate on schedule every 1 day starts '2022-01-01 00:00:00' do truncate table operator_record_log;

關(guān)閉事件

alter event event_name disable;

開(kāi)啟事件

alter event event_name enable;

刪除事件

drop event if exists event_name;

查看事件

show events;

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • MySQL大內(nèi)存配置方案 如my-medium.ini、my-huge.ini等

    MySQL大內(nèi)存配置方案 如my-medium.ini、my-huge.ini等

    這篇文章主要介紹了MySQL大內(nèi)存配置方案 如my-medium.ini、my-huge.ini等,經(jīng)測(cè)試確實(shí)不錯(cuò),訪問(wèn)mysql速度快了很多
    2014-08-08
  • mysql數(shù)據(jù)庫(kù)優(yōu)化總結(jié)(心得)

    mysql數(shù)據(jù)庫(kù)優(yōu)化總結(jié)(心得)

    本篇文章是對(duì)mysql數(shù)據(jù)庫(kù)優(yōu)化進(jìn)行了詳細(xì)的總結(jié)與介紹,需要的朋友參考下
    2013-06-06
  • mysql優(yōu)化limit查詢語(yǔ)句的5個(gè)方法

    mysql優(yōu)化limit查詢語(yǔ)句的5個(gè)方法

    這篇文章主要介紹了mysql優(yōu)化limit查詢語(yǔ)句的5個(gè)方法,它們分別是子查詢優(yōu)化法、倒排表優(yōu)化法、反向查找優(yōu)化法、limit限制優(yōu)化法和只查索引法,需要的朋友可以參考下
    2014-07-07
  • mysql 控制臺(tái)操作

    mysql 控制臺(tái)操作

    其實(shí)MYSQL的對(duì)數(shù)據(jù)庫(kù)的操作與其它的SQL類數(shù)據(jù)庫(kù)大同小異,您最好找本將SQL的書(shū)看看。
    2009-06-06
  • MySQL優(yōu)化之對(duì)RAND()的優(yōu)化方法

    MySQL優(yōu)化之對(duì)RAND()的優(yōu)化方法

    這篇文章主要介紹了MySQL優(yōu)化之對(duì)RAND()的優(yōu)化方法,本文詳細(xì)分析了Mysql中對(duì)RAND()的幾種優(yōu)化方法,并最終得出一個(gè)結(jié)論,需要的朋友可以參考下
    2014-07-07
  • mysql實(shí)現(xiàn)查詢每門課程成績(jī)最好的前兩名學(xué)生id和姓名

    mysql實(shí)現(xiàn)查詢每門課程成績(jī)最好的前兩名學(xué)生id和姓名

    這篇文章主要介紹了mysql實(shí)現(xiàn)查詢每門課程成績(jī)最好的前兩名學(xué)生id和姓名方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • MYSQL的索引使用注意小結(jié)

    MYSQL的索引使用注意小結(jié)

    這篇文章主要介紹了MYSQL的索引使用注意,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-09-09
  • mysql下修改engine引擎的方法

    mysql下修改engine引擎的方法

    修改mysql的引擎為INNODB,可以使用外鍵,事務(wù)等功能,性能高。
    2011-08-08
  • 一千行的MySQL學(xué)習(xí)筆記匯總

    一千行的MySQL學(xué)習(xí)筆記匯總

    這篇文章主要介紹了一千行的MySQL學(xué)習(xí)筆記匯總,實(shí)例總結(jié)了MySQL學(xué)習(xí)中遇到的各類常見(jiàn)問(wèn)題與實(shí)用技巧,需要的朋友可以參考下
    2014-10-10
  • MySQL PHP語(yǔ)法淺析

    MySQL PHP語(yǔ)法淺析

    在本篇文章里小編給大家分享了關(guān)于MySQL PHP語(yǔ)法的相關(guān)知識(shí)點(diǎn),需要的朋友們學(xué)習(xí)參考下。
    2019-02-02

最新評(píng)論