有個測試效能需求,所以需要先往表裡面插入100w條資料,資料庫是mysql:
1、建表語句如下:
create table `user` (
`id` int(32) unsigned not null auto_increment,
`username` varchar(255) default null,
`password` varchar(255) default null,
`userid` int(32) default null comment '使用者id',
`workcode` varchar(64) default null comment '員工編號',
`deptname` varchar(255) default null comment '部門名稱',
`departmentid` int(11) default null comment '所屬部門id',
`jobtitleid` int(11) default null comment '崗位編碼',
`jobtitle` varchar(255) default null comment '崗位名稱',
`subcompany` varchar(255) default null comment '子公司名稱',
primary key (`id`)
) engine=innodb default charset=utf8;
2、先寫乙個儲存過程,然後呼叫儲存過程執行插入:
(其中workcode欄位是隨機md5碼)
delimiter ;;
create procedure test_insert ()
begin
declare i int default 1;
while i<1000000
do insert into user(id,userid,workcode) values (i,i,md5(rand() * 10000));
set i=i+1;
end while ;
commit;
end;;
call test_insert();
3、只是執行時間,略久,6千多秒:
參考帖:
mysql迴圈插入語句 MySQL實現迴圈插入功能
mysql 不支援直接寫sql 語句實現迴圈插入功能.想要實現該功能的方法有 用其他語言操控mysql或者用儲存過程來實現兩種。mysql 不支援直接寫sql 語句實現迴圈插入功能.想要實現該功能的方法有 用其他語言操控mysql或者用儲存過程來實現兩種。1 儲存過程實現 a 表結構 create ...
mysql迴圈插入資料
drop procedure dowhile create procedure dowhile begin declare i int default 0 start transaction 定義事務 while i 100 do insert into user basic username,pa...
迴圈插入資料 mysql
插入語句常用寫法 insert into table id,name,addr,tel values 這種方式一次只能一次插入一條資料,要想插入多條資料,就得通過迴圈多次呼叫sql語句,以為著多次與資料庫建立連線。但是這樣 就又增加了伺服器的負荷,因為,執行每一次sql伺服器都要同樣對sql進行分析...