存储过程造大量数据

在软件测试过程中,造数据(即生成测试数据)是一个重要环节,它对于评估软件的性能、功能和稳定性至关重要。

最近遇到一个测试场景是只保留100万条环境数据记录、报警记录、操作记录等,此时就需要造大量环境设备采集的环境数据。造数据可手动写sql,页面添加,调接口生成等方式,但通过存储过程造数据效率最高。

以下是造环境数据的存储过程sql:

CREATE DEFINER=`root`@`%` PROCEDURE `add_envdata`(IN count INT,IN startDate DATETIME,IN store_id INT,IN data_type INT)
BEGIN
DECLARE i int DEFAULT 1;
DECLARE mydate date;

-- 开启事务
START TRANSACTION;
WHILE i<=count DO
  
    INSERT INTO `zhxt_xbv2_1`.`a00_envdata` (id, `data_type`, `data_id`, `temp`, `hum`, `pm1`, `pm25`, `pm10`, `tvoc`, `co2`, `create_time`, `store_id`, `hcho`, `so2`, `illuminance`) VALUES (REPLACE(UUID(), '-', ''), floor(rand()*2)+1, 58, 20, 60, 000000.0, 000030.0, 000030.0, 000000.1, 000421.0, ADDDATE(startDate,INTERVAL i SECOND), floor(rand()*4)+1, 00000.00, 0.00, 0.00);
    
    set i=i+1;
END WHILE;
-- 提交事务
COMMIT;

END

以下是造系统报警数据的存储过程sql:

CREATE DEFINER=`root`@`%` PROCEDURE `add_alarm`()
BEGIN
DECLARE i int DEFAULT 1;

-- 开启事务
START TRANSACTION;
WHILE i<1000001 DO
  
    INSERT INTO `zhxt_xbv2_1`.`a00_alarm_info` (`alarm_id`, `parent_id`, `alarm_msg`, `video_flag`, `alarm_type`, `alarm_time`, `store_id`, `device_type`, `device_no`, `node_no`) VALUES (i+1, 0, '测试库房 高温低湿报警,温度:26.5℃,湿度:37%RH', 0, 9, now(), 1, 255, 1221, 1);
    set i=i+1;
END WHILE;
-- 提交事务
COMMIT;

END

用存储过程造数据速度很快,屡试不爽!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

简单的事做好就不简单

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值