mysql 定时计划任务 wish 按照id分组定时循环启动
SELECT count(*) FROM wish_sellers_in;
UPDATE wish_sellers_in SET act_status =0 WHERE id >=1 AND id <=70;
-- 查看事件
SHOW EVENTS;
-- 查看定时器状态
SHOW VARIABLES LIKE '%sched%';
-- 开启定时器
SET GLOBAL event_scheduler=1;
-- 查看
SHOW VARIABLES LIKE '%sched%';
-- 删除存储过程
DROP PROCEDURE IF EXISTS pro_update_seller_in_act_status;
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE pro_update_seller_in_act_status(a INT ,b INT)
BEGIN
IF a=1 AND b=360 THEN
UPDATE wish_sellers_in SET act_status =1 WHERE id >=a AND id <=b;
END IF;
IF a=1 AND b=1500 THEN
UPDATE wish_sellers_in SET act_status =1 WHERE id >=a AND id <=b;
END IF;
IF a=1501 AND b=5000 THEN
UPDATE wish_sellers_in SET act_status =1 WHERE id >=a AND id <=b;
END IF;
IF a=5001 AND b=15000 THEN
UPDATE wish_sellers_in SET act_status =1 WHERE id >=a AND id <=b;
END IF;
IF a=15001 AND b=31542 THEN
UPDATE wish_sellers_in SET act_status =1 WHERE id >=a AND id <=b;
END IF;
IF a=51 AND b=60 THEN
UPDATE wish_sellers_in SET act_status =1 WHERE id >=a AND id <=b;
END IF;
IF a=61 AND b=70 THEN
UPDATE wish_sellers_in SET act_status =1 WHERE id >=a AND id <=b;
END IF;
END $$
DELIMITER ;
-- 删除计划任务
/*
DROP EVENT IF EXISTS event_update_sellers_in_act_status_id1;
CREATE EVENT event_update_sellers_in_act_status_id1
ON SCHEDULE
EVERY 5 DAY STARTS '2016-07-28 00:30:00'
ON COMPLETION PRESERVE
DO CALL pro_update_seller_in_act_status(1,10);
*/
DROP EVENT IF EXISTS event_update_sellers_in_act_status_id21;
CREATE EVENT event_update_sellers_in_act_status_id21
ON SCHEDULE
EVERY 5 DAY STARTS '2016-07-29 00:30:00'
ON COMPLETION PRESERVE
DO CALL pro_update_seller_in_act_status(5001,15000);
DROP EVENT IF EXISTS event_update_sellers_in_act_status_id31;
CREATE EVENT event_update_sellers_in_act_status_id31
ON SCHEDULE
EVERY 5 DAY STARTS '2016-07-30 00:30:00'
ON COMPLETION PRESERVE
DO CALL pro_update_seller_in_act_status(15001,31542);
DROP EVENT IF EXISTS event_update_sellers_in_act_status_id41;
CREATE EVENT event_update_sellers_in_act_status_id41
ON SCHEDULE
EVERY 5 DAY STARTS '2016-07-31 00:30:00'
ON COMPLETION PRESERVE
DO CALL pro_update_seller_in_act_status(1,360);
DROP EVENT IF EXISTS event_update_sellers_in_act_status_id51;
CREATE EVENT event_update_sellers_in_act_status_id51
ON SCHEDULE
EVERY 5 DAY STARTS '2016-08-01 00:30:00'
ON COMPLETION PRESERVE
DO CALL pro_update_seller_in_act_status(1,1500);
DROP EVENT IF EXISTS event_update_sellers_in_act_status_id61;
CREATE EVENT event_update_sellers_in_act_status_id61
ON SCHEDULE
EVERY 5 DAY STARTS '2016-08-02 00:30:00'
ON COMPLETION PRESERVE
DO CALL pro_update_seller_in_act_status(1501,5000);
/*
DROP EVENT IF EXISTS event_update_sellers_in_act_status_id71;
CREATE EVENT event_update_sellers_in_act_status_id71
ON SCHEDULE
EVERY 7 DAY STARTS '2016-08-03 00:30:00'
ON COMPLETION PRESERVE
DO CALL pro_update_seller_in_act_status(61,70);
*/
DROP EVENT IF EXISTS event_update_sellers_in_act_status_;
CREATE EVENT event_update_sellers_in_act_status_
ON SCHEDULE
EVERY 1 DAY STARTS '2016-07-28 12:37:00'
ON COMPLETION PRESERVE
DO CALL pro_update_seller_in_act_status(61,70);
-- 开启事件
ALTER EVENT event_update_sellers_in_act_status ON
COMPLETION PRESERVE ENABLE;
-- 查看存储过程状态
SHOW PROCEDURE STATUS;
-- 查看创建存储过程语句
SHOW CREATE PROCEDURE pro_update_seller_in_act_status;
-- 查看事件创建过程语句
show create event [event_update_sellers_in_act_status_id21];
-- 关闭事件
ALTER EVENT event_update_sellers_in_act_status ON
COMPLETION PRESERVE DISABLE;
-- 关闭 定时器
SET GLOBAL event_scheduler=0;
-- 查看定时器状态
SHOW VARIABLES LIKE '%sched%';
-- 删除事件
DROP EVENT [IF EXISTS] event_update_sellers_in_act_status;
修改事件(ALTER EVENT)
ALTER EVENT event_name
[ON SCHEDULE schedule]
[RENAME TO new_event_name]
[ON COMPLETION [NOT] PRESERVE]
[COMMENT 'comment']
[ENABLE | DISABLE]
[DO sql_statement]
创建表 CREATE TABLE test(endtime DATETIME);
创建存储过程test
DROP PROCEDURE IF EXISTS test;
CREATE PROCEDURE test ()
BEGIN
/*update examinfo SET endtime = now() WHERE id = 14; */
INSERT INTO test(endtime) VALUE (NOW());
END ;
创建event e_test
DROP EVENT IF EXISTS e_test;
CREATE EVENT if not exists e_test
on schedule every 3 second
on completion preserve
do call test();
每隔30秒将执行存储过程test,将当前时间更新到examinfo表中id=14的记录的endtime字段中去
-----AT '2007-09-01 12:00:00' + INTERVAL 1 DAY --只执行一次at
4.event的时间设置
设置event很简单,但是麻烦的是如何设置执行的时间,网上找了一些,自己总结了一下。
先看语句,如下面这个
CREATE EVENT test_event ON SCHEDULE EVERY 1 DAY STARTS '2012-09-24 00:00:00'
ON COMPLETION PRESERVE ENABLE DO CALL test_procedure();
EVERY 后面的是时间间隔,可以选 1 second,3 minute,5 hour,9 day,1 month,1 quarter(季度),1 year
从2013年1月13号0点开始,每天运行一次
ON SCHEDULE EVERY 1 DAY STARTS '2013-01-13 00:00:00'
从现在开始每隔九天定时执行
ON SCHEDULE EVERY 9 DAY STARTS NOW() ;
每个月的一号凌晨1 点执行
on schedule every 1 month starts date_add(date_add(date_sub(curdate(),interval day(curdate())-1 day),interval 1 month),interval 1 hour);
每个季度一号的凌晨1点执行
on schedule every 1 quarter starts date_add(date_add(date(concat(year(curdate()),'-',elt(quarter(curdate()),1,4,7,10),'-',1)),interval 1 quarter),interval 1 hour);
每年1月1号凌晨1点执行
on schedule every 1 quarter starts date_add(date_add(date(concat(year(curdate()),'-',elt(quarter(curdate()),1,4,7,10),'-',1)),interval 1 quarter),interval 1 hour);
mysql 定时计划任务 wish 按照id分组定时循环启动的更多相关文章
- mysql‘事件计划已关闭。事件只能在服务器启动并开启事件计划时才能处理。'的警告
通过下列语句查询event是否开启 show variables like '%sche%'; 通过执行下列语句,来开启event_schedulerset global event_schedule ...
- Oracle定时计划快速使用
Oracle定时计划快速使用 前言: SQL Server中有相关的定时计划,可以直接打开sql server 的任务管理器进行配置,可以方便.快速实现定时执行相应任务.相应的Oracle也有对应的定 ...
- Linux定时计划(crontab)使用说明
一.设置定时计划步骤 第一步,编缉计划文件:crontab -e 第二步,在文件中写入计划,格式如:minute hour day month week command.如0 8 * * * sh / ...
- MySQL架构优化:定时计划任务与表分区
转自: MySQL架构优化实战系列3:定时计划任务与表分区 - 今日头条(TouTiao.com)http://toutiao.com/a6304736482361049345/?tt_from=mo ...
- MySQL架构优化实战系列3:定时计划任务与表分区
原创 2016-07-08 汤抗 DBAplus社群 一 定时计划任务 1.概论 mysql计划任务可以定时更新数据库表或者做大文件的汇总表. 2.配置 开启计划任务 SHOW VARIABL ...
- navicat for mysql 在win7下设置定时计划之导出数据处理
navicat for mysql 在win7下设置定时计划之导出数据处理 博客分类: mysql navitcatmysql定时任务导出 前两篇记录了,navicat for mysql计划的入门 ...
- MySQL执行计划解读
Explain语法 EXPLAIN SELECT …… 变体: 1. EXPLAIN EXTENDED SELECT …… 将执行计划“反编译”成SELECT语句,运行SHOW WARNINGS 可得 ...
- mysql执行计划
烂sql不仅直接影响sql的响应时间,更影响db的性能,导致其它正常的sql响应时间变长.如何写好sql,学会看执行计划至关重要.下面我简单讲讲mysql的执行计划,只列出了一些常见的情况, ...
- 如何查看MySQL执行计划
在介绍怎么查看MySQL执行计划前,我们先来看个后面会提到的名词解释: 覆盖索引: MySQL可以利用索引返回select列表中的字段,而不必根据索引再次读取数据文件 包含所有满足查询需要的数据的索引 ...
随机推荐
- 《python for data analysis》第九章,数据聚合与分组运算
# -*- coding:utf-8 -*-# <python for data analysis>第九章# 数据聚合与分组运算import pandas as pdimport nump ...
- Java_01初识
1.配置环境变量 设置JAVA_HOME:新建系统变量,变量名为JAVA_HOME,变量值设置为java jdk所在的目录 设置path: 在所有数据的最前方添加%JAVA_HOME%\bin; 2. ...
- java单例设计模式总结及举例
* 设计模式:前人总结出来的经验,被后人直接拿来使用. * 单例设计模式:一个类只允许有一个对象,将这个对象作为一个全局的访问点,提供出去供大家使用. * 分析: * 1.用户只能有一个对象 * 2. ...
- 选择排序-C#
选择排序包括:简单选择排序和堆排序 简单选择排序: 基本思路:从所有序列中先找到最小的,然后放到第一个位置.之后再看剩余元素中最小的,放到第二个位置……以此类推 /// <summary> ...
- IAR project build with command line
The simple way is that using iarbuild.exe project.eww -build Release/Debug Release/Debug is the con ...
- bond模式
1.mode=0(balance-rr)(平衡抡循环策略) 链路负载均衡,增加带宽,支持容错,一条链路故障会自动切换正常链路.交换机需要配置聚合口,思科叫port channel.特点:传输数据包顺序 ...
- [JAVA]JAVA实现多线程的三种方式
1.继承Thread类,通过start()方法调用 public class MultiThreadByExtends extends Thread { @Override public void r ...
- python MySQL执行SQL查询结果返回字典
写自动化测试的时候我希望执行数据库前置任务,把数据库查询的结果作为请求的参数,但是正常返回结果为列表嵌套里面,这样就会影响到关键字准确的获取,特别的受限于SQL的查询字段的的顺序,所以希望返回的单条数 ...
- chrony配置的和相关命令
ntp命令 查看时间同步源: $ chronyc sources -v 查看时间同步源状态: $ chronyc sourcestats -v 设置硬件时间 硬件时间默认为UTC: $ timedat ...
- Linux上静态库和动态库的编译和使用
linux上静态库和动态库的编译和使用(附外部符号错误浅谈) 这就是静态库和动态库的显著区别,静态库是编译期间由链接器通过include目录找到并链接到到可执行文件中,而动态库则是运行期间动态调用,只 ...