建立測試表
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...