zoukankan      html  css  js  c++  java
  • mysql存储过程造数

    性能测试时,数据库表通常需要很多数据,此时我们可以用存储过程来造数,以下代码mysql、Oracle都可以用

    首先,先查看数据库表的设计,可以看到每张表有多少字段,分别都是什么类型,哪个字段是自动增长的等。然后根据表的结构写一个insert语句即可。

    其次,看哪些表涉及到性能问题,然后对这些表进行造数即可。

    因为数据库是有一些基础数据的,而一般每张表的id都是不可重复的,所以,为了避免插入的数据和原来的数据冲突,先查一下没张表有多少条数据,还有最大id的值为多少,再在这个基础上设置var变量的初始值即可。

    1、ID是自动增长的情况:

    //命令行执行
    drop procedure if exists p1;

    create PROCEDURE p2(IN loop_times INT)

    begin

    declare var int default 0;


    while var < loop_times DO

    set var=var+1;

    insert into user(name,age,sex,address,TIME)values('王',27,'女','北京','2018-04-19 10:40:32');

    end while;

    end

    //命令行执行
    CALL p1(50000);

    2、id非自动增长,但为主键的情况:

    drop procedure if exists p1_audit_market;


    create PROCEDURE p1_audit_market(IN loop_times INT)

    begin

    declare var int default 5000;


    while var < loop_times DO

    set var=var+1;

    INSERT INTO `audit_market`( `market_id`,`dpy`, `dpy_total`, `check_time`) VALUES
    (var,'10.000000000000000000', '20.000000000000000000', '1521600298');

    end while;

    end


    CALL p1_audit_market(55000);

    3、除了primary key,还有unique key的情况:

    drop procedure if exists p1_statistic_user_option;


    create PROCEDURE p1_statistic_user_option(IN loop_times INT)

    begin

    declare var int default 6000;
    declare var_user_id int default 10000;
    declare var_option_id int default 10000;

    while var < loop_times DO

    set var=var+1;
    set var_user_id=var_user_id+1;
    set var_option_id=var_option_id+1;

    INSERT INTO `statistic_user_option` VALUES (var_user_id, '3.618305697752373603',
    '4.114131019433091964', '1', '2', '10', '-2', '1', var_option_id , var, '选项A. 涨');

    end while;

    end

    强制停止存储过程:
    show PROCESSLIST;
    kill id即可

  • 相关阅读:
    HDU 1269 迷宫城堡
    HDU 4771 Stealing Harry Potter's Precious
    HDU 4772 Zhuge Liang's Password
    HDU 1690 Bus System
    HDU 2112 HDU Today
    HDU 1385 Minimum Transport Cost
    HDU 1596 find the safest road
    HDU 2680 Choose the best route
    HDU 2066 一个人的旅行
    AssetBundle管理机制(下)
  • 原文地址:https://www.cnblogs.com/lanyy/p/8882783.html
Copyright © 2011-2022 走看看