• 利用存储过程生成大量的数据(oracle,mysql) veitch


    在进行查询操作的性能测试时,往往需要测试大数据量模式下的查询功能的性能,这是就需要我们去创造一些测试数据来填充数据库,来模拟真是环境,造数据的方式有很多种,可以使用loadrunner,jmeter等压测工具压一些数据进去,但是这样做的效率不高,下面记录一个快速生成大量有规则数据的方法,那就是数据库的存储过程函数,通过运行函数快速的生成大量的数据。(使用这个方法的前提是你需要足够了解你要操作的数据库表的结构)

    1、oracle数据库

    DECLARE  --声明函数
    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 $$  --结束符为 $$
     2 DROP PROCEDURE IF EXISTS mytest; --判断进程是否存在,存在则删除
     3 CREATE PROCEDURE mytest()  --新建进程
     4 BEGIN
     5 declare i int;  
     6 DECLARE 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;
    18 end $$  --结束定义语句
    19 delimiter ;  --先把结束符恢复为 ;
    20 call mytest();  --调用进程
  • 相关阅读:
    SPOJ913 Query on a tree II
    SPOJ375 Query on a tree
    HDU4348 To the moon
    Bzoj2753 [SCOI2012]滑雪与时间胶囊
    HDU4612 Warm up
    Uva11374 Airport Express
    Uva1624 Knots
    DevExpress的GridControl的使用以及怎样添加列和绑定数据源
    C#中使用Path、Directory、Split、Substring实现对文件路径和文件名的常用操作实例
    ZedGraph的曲线的LineItem对象的Tag属性存储信息进而在鼠标悬浮时进行显示
  • 原文地址:https://www.cnblogs.com/veitch-623/p/6637619.html
Copyright © 2020-2023  润新知