SHOW VARIABLES;
set session bulk_insert_buffer_size = 1024 * 1024 * 10;
set global max_allowed_packet = 1010241024;
set global innodb_flush_log_at_trx_commit=0;
show variables like '%bulk%';
注意:以上均在线修改,为了不影响默认配置,修改后插入速度大概10w/s,不修改插入速度大概在1000/s,当然inodb的其他设置也可以改如innodb_log_file_size等,效率会更上一层楼;
CREATE TABLE user
(
id
bigint(20) unsigned NOT NULL AUTO_INCREMENT,
name
varchar(255) DEFAULT '',
age
varchar(255) DEFAULT '',
phone
varchar(255) DEFAULT '',
create_time
varchar(255) DEFAULT '',
PRIMARY KEY (id
)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
DROP PROCEDURE IF EXISTS create_line;
DELIMITER //
CREATE PROCEDURE create_line()
BEGIN
DECLARE total INT;
DECLARE current_count INT;
SET total = 10;
SET current_count = 1;
WHILE current_count <= total DO
INSERT INTO user
(id
, name
, age
, phone
, create_time
) VALUES (current_countn, concat(substring('一忠洪江福祥中正振勇耀春大宁亮宇兴宝少剑云学仁涛瑞飞鹏安亚泽世汉达卫利胜敏群波成荣新峰刚家龙德庆斌辉良玉俊立浩天宏子松克清长嘉红山贤阳乐锋智青跃元武广思雄锦威启昌铭维义宗英凯鸿森超坚旭政传康继翔栋仲权奇礼楠炜友年震鑫雷兵万星骏伦绍麟雨行才希彦兆贵源有景升惠臣慧开章润高佳虎根远力进泉茂毅富博霖顺信凡豪树和恩向道川彬柏磊敬书鸣芳培全炳基冠晖京欣廷哲保秋君劲轩帆若连勋祖锡吉崇钧田石奕发洲彪钢运伯满庭申湘皓承梓雪孟其潮冰怀鲁裕翰征谦航士尧标洁城寿枫革纯风化逸腾岳银鹤琳显焕来心凤睿勤延凌昊西羽百捷定琦圣佩麒虹如靖日咏会久昕黎桂玮燕可越彤雁孝宪萌颖艺夏桐月瑜沛诚夫声冬奎扬双坤镇楚水铁喜之迪泰方同滨邦先聪朝善非恒晋汝丹为晨乃秀岩辰洋然厚灿卓杨钰兰怡灵淇美琪亦晶舒菁真涵爽雅爱依静棋宜男蔚芝菲露娜珊雯淑曼萍珠',floor(1+400*rand()),1)),
floor(1+rand()*100),concat('1',
substring(cast(3 + (rand() * 10) % 7 AS char(50)), 1, 1),
right(left(trim(cast(rand() AS char(50))), 11), 9)),
concat('20',floor(10+rand()*20),'-','0',floor(1+rand()*9),'-',floor(10+rand()*10),' ',floor(10+rand()*10),':',floor(10+rand()*49),':',floor(10+rand()*49))
);
SET current_count = current_count + 1;
END WHILE;
END;
//
DELIMITER ;
CALL create_line();