利⽤存储过程⽣成⼤量的数据(oracle,mysql)
在进⾏查询操作的性能测试时,往往需要测试⼤数据量模式下的查询功能的性能,这是就需要我们去创造⼀些测试数据来填充数据库,来模拟真是环境,造数据的⽅式有很多种,可以使⽤loadrunner,jmeter等压测⼯具压⼀些数据进去,但是这样做的效率不⾼,下⾯记录⼀个快速⽣成⼤量有规则数据的⽅法,那就是数据库的存储过程函数,通过运⾏函数快速的⽣成⼤量的数据。(使⽤这个⽅法的前提是你需要⾜够了解你要操作的数据库表的结构)
1、oracle数据库
DECLARE  --声明函数
mysql存储过程使用
i INT;
BEGIN
i:=10;
WHILE(i<10000)
LOOP  --设置loop循环
i:=i+1;
INSERT INTO PROJECT_ITEM (ID, CODE, VERSION, FOLDER_CODE, NAME, TYPE, ASSORT)
VALUES ('a94a341d2a3b4d25bd6212a1'||i, '370000-SDGT-XK-'||i||'-'||i, 1, '370000-SDGT-XK-'||i, '批量新增测试事项'||i, 'XK', '1');
END LOOP;
COMMIT;  --循环执⾏完后进⾏提交
END;
备注:i变量可以通过“||”拼接到value中。
2、mysql数据库
1 delimiter $$  --结束符为 $$
2DROP PROCEDURE IF EXISTS mytest; --判断进程是否存在,存在则删除
3CREATE PROCEDURE mytest()  --新建进程
4BEGIN
5declare i int;
6DECLARE j varchar(200);
7  set i =2;
8  while i <11 do  --循环体
9    SET j=CONCAT('wwq',i);  --拼接字符串
10    INSERT INTO pub_user(`ID`, `NAME`, `ACCOUNT`, `PASSWORD`, `USER_CODE`)
11    VALUES (i, '王馨', j, 'e10adc3949ba59abbe56e057f20f883e', '');
12    INSERT INTO pub_user_post (`POST_CODE`, `USER_CODE`)
13    VALUES (i, 'A685187D29AF4AD793F2753DC17C1435');
14    INSERT INTO pub_user_role (`ROLE_CODE`, `USER_CODE`, `APP_CODE`)
15    VALUES ('95AC32C8B9874B4085A01187C341067B', i, 'INSPUR-DZZW-TYSP');
16    set i=i+1;
17  end while;
18end $$  --结束定义语句
19 delimiter ;  --先把结束符恢复为;
20 call mytest();  --调⽤进程

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。