当前位置: 首页 > 科技观察

MySQL数据库小项目日志表周期删除实现方案

时间:2023-03-13 07:59:05 科技观察

最近需要清理一下数据表。这个环境是在线业务。由于种种原因,表中数据臃肿,而磁盘空间又比较小,所以经常出现磁盘空间满的情况。与业务确认后定期删除数据,实现方法如下,以下针对小项目。1、打开事件调度器setglobalevent_scheduler=ON;showvariableslike'%event_scheduler%';#my.cnf增加参数event_scheduler=on2.创建日志删除记录表CREATETABLEIFNOTEXISTSmq_log(nameVARCHAR(400)NOTNULLCOMMENT'删除信息',rowINTCOMMENT'删除行',del_timeTIMESTAMPCOMMENT'删除时间')COMMENT='日志删除记录表';3.创建日志删除存储过程这里主要用到异常记录、受影响行号记录、事务处理几个特性DECLAREaffect_rows2INT;DECLAREaffect_rows3INT;declarev_commitintdefault2;--定义事务,1为正常,-10为失败declaremsgtext;--记录错误信息--异常时,msg捕获错误信息declarecontinuehandlerforsqlexceptionbeginetdiagnosticscondition1msg=message_text;setv_commit=10;end-transaction;-设置事务deletefromlcp_mq_recordwherelast_update_date

最新推荐
猜你喜欢