主頁 > 知識(shí)庫 > MySQL數(shù)據(jù)庫Event定時(shí)執(zhí)行任務(wù)詳解

MySQL數(shù)據(jù)庫Event定時(shí)執(zhí)行任務(wù)詳解

熱門標(biāo)簽:地方門戶網(wǎng)站 鐵路電話系統(tǒng) 服務(wù)外包 網(wǎng)站排名優(yōu)化 AI電銷 Linux服務(wù)器 百度競價(jià)排名 呼叫中心市場需求

一、背景

  由于項(xiàng)目的業(yè)務(wù)是不斷往前跑的,所以難免數(shù)據(jù)庫的表的量會(huì)越來越龐大,不斷的擠占硬盤空間。即使再大的空間也支撐不起業(yè)務(wù)的增長,所以定期刪除不必要的數(shù)據(jù)是很有必要的。在我們項(xiàng)目中由于不清理數(shù)據(jù),一個(gè)表占的空間竟然達(dá)到了4G之多。想想有多可怕...

  這里介紹的是用MySQL 建立一個(gè)定時(shí)器Event,定期清除掉之前的不必要事件。

二、內(nèi)容

#1、建立存儲(chǔ)過程供事件調(diào)用
delimiter//
drop procedure if exists middle_proce//
create procedure middle_proce()
begin
DELETE FROM jg_bj_comit_log WHERE comit_time  SUBDATE(NOW(),INTERVAL 2 MONTH);
optimize table jg_bj_comit_log;
DELETE FROM jg_bj_order_create WHERE created_on  SUBDATE(NOW(),INTERVAL 3 MONTH);
optimize table jg_bj_order_create;
DELETE FROM jg_bj_order_match WHERE created_on  SUBDATE(NOW(),INTERVAL 3 MONTH);
optimize table jg_bj_order_match;
DELETE FROM jg_bj_order_cancel WHERE created_on  SUBDATE(NOW(),INTERVAL 3 MONTH);
optimize table jg_bj_order_cancel;
DELETE FROM jg_bj_operate_arrive WHERE created_on  SUBDATE(NOW(),INTERVAL 3 MONTH);
optimize table jg_bj_operate_arrive;
DELETE FROM jg_bj_operate_depart WHERE created_on  SUBDATE(NOW(),INTERVAL 3 MONTH);
optimize table jg_bj_operate_depart;
DELETE FROM jg_bj_operate_login WHERE created_on  SUBDATE(NOW(),INTERVAL 3 MONTH);
optimize table jg_bj_operate_login;
DELETE FROM jg_bj_operate_logout WHERE created_on  SUBDATE(NOW(),INTERVAL 3 MONTH);
optimize table jg_bj_operate_logout;
DELETE FROM jg_bj_operate_pay WHERE created_on  SUBDATE(NOW(),INTERVAL 3 MONTH);
optimize table jg_bj_operate_pay;
DELETE FROM jg_bj_position_driver WHERE created_on  SUBDATE(NOW(),INTERVAL 3 MONTH);
optimize table jg_bj_position_driver;
DELETE FROM jg_bj_position_vehicle WHERE created_on  SUBDATE(NOW(),INTERVAL 3 MONTH);
optimize table jg_bj_position_vehicle;
DELETE FROM jg_bj_rated_passenger WHERE created_on  SUBDATE(NOW(),INTERVAL 3 MONTH);
optimize table jg_bj_rated_passenger;
end//
delimiter;

#2、開啟event(要使定時(shí)起作用,MySQL的常量GlOBAL event_schduleer 必須為on 或者1)
show variables like 'event_scheduler'
set global event_scheduler='on'

#3、創(chuàng)建Evnet事件
drop event if exists middle_event;
create event middle_event
on schedule every 1 DAY STARTS '2017-12-05 00:00:01'
on completion preserve ENABLE
do call middle_proce();

#4、開啟Event 事件
alter event middle_event on completion preserve enable;

#5、關(guān)閉Event 事件
alter event middle_event on completion preserve disable;

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • PHP使用mysql_fetch_row查詢獲得數(shù)據(jù)行列表的方法
  • 5個(gè)MySQL GUI工具推薦,幫助你進(jìn)行數(shù)據(jù)庫管理
  • 簡單了解操作mysql數(shù)據(jù)庫的命令行神器mycli
  • 為什么說MySQL單表數(shù)據(jù)不要超過500萬行
  • php使用mysqli和pdo擴(kuò)展,測試對(duì)比mysql數(shù)據(jù)庫的執(zhí)行效率完整示例
  • MySQL執(zhí)行update語句和原數(shù)據(jù)相同會(huì)再次執(zhí)行嗎
  • IDEA使用properties配置文件進(jìn)行mysql數(shù)據(jù)庫連接的教程圖解
  • mysql如何利用binlog進(jìn)行數(shù)據(jù)恢復(fù)詳解
  • 解決Windows10下mysql5.5數(shù)據(jù)庫命令行中文亂碼問題
  • Java對(duì)MySQL數(shù)據(jù)庫進(jìn)行連接、查詢和修改操作方法
  • 詳解MySQL的數(shù)據(jù)行和行溢出機(jī)制

標(biāo)簽:銅川 湖南 黃山 崇左 蘭州 湘潭 衡水 仙桃

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MySQL數(shù)據(jù)庫Event定時(shí)執(zhí)行任務(wù)詳解》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266