Mysql定时删除表数据

由于用户环境有张日志表每天程序都在狂插数据,导致不到一个月时间,这张日志表就高达200多万条记录,但是日志刷新较快,里面很多日志没什么作用,就写了个定时器,定期删除这张表的数据。

  1. 首先查看mysql是否开启定时任务开关
    SHOW VARIABLES LIKE 'event_scheduler';
    Value为ON则已打开,OFF则关闭

    如果是OFF,就先打开:SET GLOBAL event_scheduler = ON;

然后创建我们想要的定时器及删除存储过程

c 复制代码
delimiter $$  
drop event if exists delplan;  
create event delplan
on schedule   
EVERY 1 DAY  
 STARTS '2019-07-02 00:00:00'  
ON COMPLETION  PRESERVE ENABLE  
do  
begin  
  delete from sys_prepose_sync_record where Sync_Time<(CURRENT_TIMESTAMP()-INTERVAL 497 HOUR);  
end $$  
delimiter;

最后把上面的语句在数据库执行一遍,大功告成,可以删除Sync_Time在497小时之前的数据了。

如果不想用该定时器了的话,可以直接在数据库事件中将状态更改为ENable即可。

使用navicat连接的数据库->事件->找到对应的事件修改

如果想要调整定时器执行时间间隔,可以直接在事件中修改

相关推荐
用户83071968408216 小时前
Java 告别繁琐数据统计代码!MySQL 8 窗口函数真香
java·sql·mysql
stark张宇18 小时前
MySQL 核心内幕:从索引原理、字段选型到日志机制与外键约束,一篇打通数据库任督二脉
数据库·mysql·架构
Hoffer_2 天前
MySQL 强制索引:USE/FORCE INDEX 用法与避坑
后端·mysql
Hoffer_2 天前
MySQL 索引核心操作:CREATE/DROP/SHOW
后端·mysql
0xDevNull4 天前
MySQL索引进阶用法
后端·mysql
0xDevNull4 天前
MySQL索引用法
mysql
程序员小崔日记4 天前
一篇文章彻底搞懂 MySQL 和 Redis:原理、区别、项目用法全解析(建议收藏)
redis·mysql·项目实战
武子康4 天前
大数据-241 离线数仓 - 实战:电商核心交易数据模型与 MySQL 源表设计(订单/商品/品类/店铺/支付)
大数据·后端·mysql
用户8307196840825 天前
MySQL 查询优化 30 条封神技巧:用好索引,少耗资源,查询快到飞起
mysql
Nyarlathotep01135 天前
事务隔离级别
sql·mysql