当前位置: 首页 > news >正文

MySQL定时删除XX天数据

写在前面

定时删除数据方式有多种方法,在实际工作中很多人可能会通过编码实现,也有人可能会通过脚本定时执行SQL进行定时删除对应数据。

今天使用MySQL自带的删除策略。

MYSQL删除策略

从MySQL5.1.6起,增加了一个非常有特色的功能–事件调度器(Event Scheduler),可以用做定时执行某些特定任务(例如:删除记录、对数据进行汇总等等),来取代原先只能由操作系统的计划任务来执行的工作。

更值得一提的是MySQL的事件调度器可以精确到每秒钟执行一个任务,而操作系统的计划任务只能精确到每分钟执行一次。对于一些对数据实时性要求比较高的应用(例如:股票、赔率、比分等)就非常适合。

如何使用

1、开启事件调度器,确认是否开启

SHOW VARIABLES LIKE 'event_scheduler';

如果看到的结果是 OFF

则代表没有开启事件调度器,需要执行下面的命令进行开启。

-- 开启命令
SET GLOBAL event_scheduler = ON;

2.创建事件 例如定时删除三个月前的数据

create event delete_old_data
on schedule every 1 day starts '2023-01-1 23:35:00'
do delete from tb_processinfo
where Datatime < DATE_SUB(NOW(),INTERVAL 3 MONTH)

就这样使用MySQL定时删除任务就做好了。

为了查看对应事件执行情况以及手动开启、关闭、删除事件还得需要了解一下几个命令。

-- 查看事件
show events;-- 关闭事件
alter event event_name disable-- 开启事件
alter event event_name enable;-- 删除事件
drop event if exists event_name;

小结

通过使用MySQL的事件调度器,我们可以方便地创建定时任务来定期清理数据库中的过期数据。本文介绍了如何创建定时任务以及如何删除3个月前的数据作为示例。

请根据实际需求进行相应的调整和扩展。定时任务是数据库管理的重要组成部分,合理使用定时任务可以有效提高数据库性能和管理效率。

tips:为了保证数据的安全性,请在操作前进行备份,并谨慎执行删除操作。


The end.

http://www.lryc.cn/news/176083.html

相关文章:

  • vue在js文件中调用$notify
  • C++从入门到精通
  • 2023网络安全面试题(附答案)+面经
  • 数据结构_红黑树
  • 一百八十八、Hive——HiveSQL查询表中的日期是星期几(亲测,附截图)
  • 基础题——数组
  • Qt地铁智慧换乘系统浅学( 一 )存储站点,线路信息
  • Python之xToolkit库
  • 2w+深度梳理!全网最全NLP面试题总结!
  • Spring 学习(五)JavaConfig 实现配置
  • 【Synapse数据集】Synapse数据集介绍和预处理,数据集下载网盘链接
  • 【运动规划算法项目实战】Dynamic Window Approach算法(附ROS C++代码)
  • 第十四届蓝桥杯大赛软件赛决赛 C/C++ 大学 B 组 试题 A: 子 2023
  • Unity 场景淡入淡出效果
  • 快速使用Spring Cache
  • Scrum敏捷开发培训内训:提升团队能力和效率的重要途径
  • kaggle新赛:Optiver 美股价格预测赛题解析
  • Vue 学习笔记 错误ResizeObserver loop completed with undelivered notifications
  • Wi-Fi直连分享:Android设备间的高速连接
  • LeetCode 面试题 05.06. 整数转换
  • 增强for循环和一般for循环的对比使用
  • 云原生之使用Docker部署RSS阅读器Huntly
  • Powershell 实现禁用密码复杂性,空密码
  • 【c语言】详解动态内存管理
  • 深度学习概念——端对端
  • 苹果触控笔有必要买吗?平价ipad电容笔推荐
  • React的高阶函数
  • Java8实战-总结34
  • uniapp项目实践总结(二十四)安卓平台 APP 打包教程
  • GeoServer地图服务器权限控制