视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Mysql数据统计脚本模板
2020-11-09 16:09:49 责编:小采
文档


数据统计对于小型业务系统可能不需要集群计算。约定计算脚本,该脚本特点: 1.动态传入时间变量。便于重算 2.扑捉计算结果状态,执行时间 3.计算结果入库 MySQL CREATE DEFINER = `mc`@`10.%.%.%` PROCEDURE `NewProc`(IN v_countDate DATE)BEGIN/* =========

数据统计 对于小型业务系统可能不需要集群计算。约定计算脚本,该脚本特点:
1.动态传入时间变量。便于重算
2.扑捉计算结果状态,执行时间
3.计算结果入库 MySQL $velocityCount-->
CREATE DEFINER = `mc`@`10.%.%.%` PROCEDURE `NewProc`(IN v_countDate DATE)
BEGIN
/* =======================================================================
	 * 系统名 : **数据平台
	 * 子系统名 : 报告统计-IP-TCP连接数(天)
	 * PROC名 : proc_stat_service_idc_ip_tcp_day
	 * 概要 : 每天从mc_stat_trends 按服务器IP统计IP TCP连接数的平均值和最大值指标。
	 * 改版履历 :
	 * 版本 日期 作者名 备注
	 * 1.0.1 2015.03.19 #### 初次作成
	 * ======================================================================= */
-- 输入参数变量(v_beginTime:执行开始时间;v_endTime:执行结束时间;v_countDate:查询时间,默认1天前;v_date_type:时间周期)
DECLARE v_beginTime DATETIME DEFAULT NOW();
DECLARE v_endTime DATETIME;	
DECLARE v_date_type VARCHAR(20) DEFAULT 'day';
DECLARE v_status int(11) DEFAULT 1;
DECLARE v_log_title VARCHAR(100) DEFAULT 'proc_stat_service_idc_ip_tcp_day';
-- 游标结果变量
DECLARE r_udate DATETIME;
DECLARE r_date_type VARCHAR(20);
DECLARE r_service VARCHAR(100);
DECLARE r_idc VARCHAR(100);
DECLARE r_ip VARCHAR(100);
DECLARE r_val_max FLOAT(20,2);
DECLARE r_val_avg FLOAT(20,2);
	
-- 遍历数据结束标志
DECLARE done INT DEFAULT FALSE;
-- 游标
DECLARE cur CURSOR FOR
	SELECT v_countDate AS udate,v_date_type AS date_type, service, idc,ip, AVG(value_avg),MAX(value_max) 
	FROM view_mc_stat_trends WHERE itemname='Established connections' AND DATE(udate)=v_countDate GROUP BY ip;
	-- 将结束标志绑定到游标
 DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET v_status=0;
	DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
	OPEN cur;
	read_loop:LOOP
	FETCH cur INTO r_udate,r_date_type,r_service,r_idc,r_ip,r_val_avg,r_val_max;
	IF done THEN
	LEAVE read_loop;
	END IF;
	REPLACE INTO mc_stat_service_idc_ip_tcp(udate,date_type,service,idc,ip,val_avg,val_max) VALUES(r_udate,r_date_type,r_service,r_idc,r_ip,r_val_avg,r_val_max);
	END LOOP;
CLOSE cur;	
-- 结束时间
SET v_endTime = NOW();
-- 添加JOB执行日志
INSERT INTO t_joblog(beginDate,endDate,jobName,jobType,STATUS,haoshi,createDate) VALUES(v_beginTime,v_endTime,v_log_title,'PROCEDURE',v_status,v_endTime-v_beginTime,NOW());
END;
CREATE DEFINER=`root`@`localhost` 
EVENT `NewEvent`
ON SCHEDULE EVERY 1 DAY STARTS '2015-03-25 03:20:00'
ON COMPLETION PRESERVE
ENABLE
DO
CALL proc_stat_service_tcp_day(DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 1 DAY),'%Y-%m-%d'));

下载本文
显示全文
专题