構造大量測試資料的方法(MySql)

2021-09-13 10:55:47 字數 1672 閱讀 7977

建立測試表

create table `sys_user` (

`id` char (32) not null default '' comment '主鍵',

`username` varchar (100) not null default '' comment '使用者名稱',

`password` char (32) not null default '' comment '密碼',

`status` tinyint (1) not null default '0' comment '狀態',

`desz` varchar (200) default null comment '描述',

primary key (`id`)

) engine = innodb default charset = utf8 comment = '使用者表';

方法一:儲存過程

1.建立儲存過程

delimiter @

create procedure myproc (in total int)

begin

declare v int ;

set v = 1 ;

while v <= total do

insert into sys_user (

id,username,

password,

status,

desz

)values

( replace (uuid(), '-', ''),

concat('使用者-', v),

concat('pwd-', v),

v % 2,

concat('描述-', v)

) ;set v = v + 1 ;

endwhile ;

end ;@

delimiter ;

2.呼叫儲存過程

call myproc
方法二:多執行緒 + jdbc批量提交

public class datatest implements runnable 

public static void main(string args)

public void run()

if (operatenum % 1000 != 0)

commit(threadname, st);

st.close();

conn.close();

system.out.println(

"執行緒" + threadname + ",插入" + operatenum + "條,耗時: " + (system.currenttimemillis() - start) + " 毫秒");

} catch (exception e)

} private string createsql(int i)

private string uuid()

public static connection getconn() throws exception

private void commit(string threadname, statement st) throws exception

}

構造測試資料 對比測試資料

正確 include using namespace std typedef long long ll const int max n 1e6 10 intmain return0 author max n date 2019 10 04 15.03.21 description 正確 錯誤 inc...

mysql造大量測試資料

我們在進行測試時候,有時候需要造大量的測試資料,但是資料庫對於大量資料的插入和刪除很耗時間。1.首先實現自動化 肯定想到的是儲存過程 現在利用工具寫儲存過程很方便,框架都搭好了,填填邏輯就好 2.資料插入 利用批量插入 我試了一下,插了30萬資料14.042s的速度還是很快的 3.資料刪除 最好是直...

mysql迴圈插入大量測試資料

最近業務場景的需要,mysql單錶要插入大量資料,考慮到單條記錄長短對資料儲存量有很大的影響,所以進行了一次插入檢索測試。插入 procedure delimiter drop procedure if exists insert current data uuid create procedure...