前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySql小技能:定时任务

MySql小技能:定时任务

作者头像
公众号iOS逆向
发布2022-12-21 14:03:31
1.4K0
发布2022-12-21 14:03:31
举报
文章被收录于专栏:iOS逆向与安全iOS逆向与安全

I 预备知识

SQL 层面:SQL 的生命周期、权限管理、count(*) 的底层原理、底层的排序原理、连表原理。存储引擎层面:InnoDB 存储引擎的底层架构、索引的算法、事务的原理、锁机制、隔离机制、幻读

1.1 mysql 各字段类型存储文本信息的最大值

  • text,最大65535字节
  • mediumtext,最大16777215字节
  • longtext,2的32次方减1个,即4294967295个字节

1.2 date_sub的用法

语法:date_sub(date,interval expr type),函数从日期减去指定的时间间隔,

例子:删除时间小于昨天的数据

代码语言:javascript
复制
    delete from car_viol where `create` < date_sub(curdate(), interval 1 day);

1.3 innodb_io_capacity 参数

MySQL 数据库并不是直接根据硬盘的性能来调节其 write 速度,而是靠 innodb_io_capacity 参数来告诉 MySQL 数据库磁盘的性能。

1.4 过程和函数

过程(procedure)又叫存储过程(stored procedure),是一个有名称的PL/SQL程序块 。

过程相当于java中的方法, 它注重的是实现某种业务功能 。函数(function)也相当于java中的方法,它 注重计算并且总是有返回结果 。

过程和函数都是能够永久存储在数据库中的程序代码块,应用时通过调用执行 。https://blog.csdn.net/z929118967/article/details/128313118

1.5 查询mysql有没有开启时间功能的支持

代码语言:javascript
复制
/*查看事件功能是否开启*/
show variables like 'event_scheduler'; 

开启事件功能

代码语言:javascript
复制
set global event_scheduler = on;
# off 代表关,on 代表开

II 定时任务

利用MySql的事件机制完成定时任务:在指定的时间调用指定的存储过程。

event机制是mysql5.1版本开始引入的,这意味着版本低于5.1的可能无法使用

2.1 实现定时操作的功能

  • 创建了一个存储过程,它可以删除时间小于昨天的数据
代码语言:javascript
复制
create procedure del_car_v()
begin
    delete from car_v where `create` < date_sub(curdate(), interval 1 day);
end
  • 创建一个事件,让事件按照某种规则去调用存储过程。事件创建好以后就会立刻执行一次,并且一般是默认开启的。

从2023年1月2日零点开始每隔一天自动调用之前写好的存储过程。

代码语言:javascript
复制
create event `e_update_user_ticket`  
on schedule every 1 day starts '2023-01-02 00:00:00'  # 1 day 代表一天一次, 2 year(2年一次)。
on completion not preserve enable do call del_car_v(); 

2.2 控制某个事件的运行状态

代码语言:javascript
复制
/*开启事件*/
alter event 事件名 on completion preserve enable; 
/*关闭事件*/
alter event 事件名 on completion preserve disable; 

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-12-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 iOS逆向 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • I 预备知识
    • 1.1 mysql 各字段类型存储文本信息的最大值
      • 1.2 date_sub的用法
        • 1.3 innodb_io_capacity 参数
          • 1.4 过程和函数
            • 1.5 查询mysql有没有开启时间功能的支持
            • II 定时任务
              • 2.1 实现定时操作的功能
                • 2.2 控制某个事件的运行状态
                相关产品与服务
                对象存储
                对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档