mysql存储过程造数据_性能测试四十:Mysql存储过程造数据

性能测试是基于大量数据的,而进行性能测试之前肯定没那么多数据,所以就要自己准备数据

数据构造方法:

1.业务接口

-- 适合数据表关系复杂

-- 优点:数据完整性比较好

2.存储过程

-- 适合表数量少,简单

-- 优点:速度最快

3.脚本导入

-- 适合数据逻辑复杂

-- 自由度比较高

4.数据量级

--测试数据

--基础数据

启动并用工具连接mysql,这里的新建函数,所建的函数,即为存储过程

也可以在命令行mysql -u root -p 登录后输入存储过程的sql运行,但是这就是纯命令行了

84288c299be3fa99385ea5d41229c60b.png

2266e12043e7010e4803163287286fcd.png

执行truncate teacher清空表,再使用存储过程造数据

f07a971b9aa336c888d08236631d5653.png

2254d51d725690cbbfac071880859f3d.png

造数据:选过程

fb0d472a28e74c115f8dc88b830c0a07.png

7d5b939a2cf1a11514e176faf1537fba.png

表里的字段:card_no, name, sex, age, course, created, modified

要造的数据的条件:插入10000 条数据,其中:card_no, name,age,均不重复,

要用到的函数:

DECLARE i INT DEFAULT 0; --定义一个变量i,给个默认值:0,也可以不给默认值(把DEFAULT 0去掉即可)

循环10000次:

WHILE i<10001 DO

sql语句;

SET i = i+1;  --mysql存储过程中,变量自增只支持这个格式,不支持i++

END WHILE;

NOW():当前时间

ONCAT(str1,str2,...):拼接函数,把str1、str2、···拼接起来

9014334ce39e6a82f00543dce8b2d726.png

rand() :随机生成一个0--1之间的小数

5247cac0e16978ec927371089ff4ff8f.png

取整:

round() 遵循四舍五入把原值转化为指定小数位数,如:round(1.45,0) = 1;round(1.55,1)=1.6

floor()向下取整 如:floor(1.45,0)= 1;floor(1.55,0) = 1

ceiling()向上取整 如:ceiling(1.45,0) = 2;ceiling(1.55,0)=2

age:这里只需要取个100以下的整数就行了,所以:FLOOR(RAND()*100)

-- 取n--m

FLOOR(RAND()*(m-n)+n);

dc7dec4e87a199beb38390c2e1687a8f.png

存储过程语句:

BEGIN

DECLARE i INT DEFAULT 0;-- 定义一个变量i,给个默认值:0,也可以不给默认值(把DEFAULT 0去掉即可)

DECLARE p_sex VARCHAR(4);

DECLARE p_course VARCHAR(4);

WHILE i<10001 DO

if i%2=0 THEN

SET p_sex = 'M';-- i为偶数时,性别为男

SET p_course = 'Eng';-- i为偶数时,课程为英语

ELSE

SET p_sex = 'W';-- i为奇数时,性别为女

SET p_course = 'Math';-- i为奇数时,课程为数学

END IF;

-- card_no = 1000+i

-- name = test_i

-- sex = p_sex

-- age = FLOOR(RAND()*100) 取个100以下的整数

-- course = p_course

INSERT INTO teacher (card_no, name, sex, age, course, created, modified) VALUES (10000+i,CONCAT('test_',i),p_sex,FLOOR(RAND()*100),p_course, NOW(), NOW());

SET i = i+1; -- mysql存储过程中,变量自增只支持这个格式,不支持i++

END WHILE;

END

保存 点运行:

9d2e2b6f97752d4248c08ab7fd9f8bc2.png

32534f2e797dc107a55bd026f23d7daa.png

稍等一会即可

aff5b3b873e34d9f67fcf115fb9f1578.png

257f1ff916b73386dc087a776ffb2edf.png

存储过程造数据非常方便,应用也很广泛,但是不适合逻辑很复杂的数据结构,遇到不知道怎么实现时,网上都能找到

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值