一.创建数据库

二.创建表

1.创建 dept表

CREATE TABLE `dept` ( `id` int(11) NOT NULL, `deptno` mediumint(9) DEFAULT NULL, `dname` varchar(20) DEFAULT NULL, `loc` varchar(13) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `emp` ( `id` int(11) NOT NULL, `empon` mediumint(9) DEFAULT NULL COMMENT '编号', `ename` varchar(20) DEFAULT NULL, `job` varchar(9) DEFAULT NULL, `mgr` mediumint(9) DEFAULT NULL COMMENT '上级编号', `hirdate` datetime DEFAULT NULL COMMENT '入职时间', `sal` decimal(7,2) DEFAULT NULL COMMENT '薪水', `comm` decimal(7,2) DEFAULT NULL COMMENT '红利', `deptno` mediumint(9) DEFAULT NULL COMMENT '部门编号', PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;

默认关闭. 需要设置为1。因为表中设置 mediumint 字段 创建函数可能会报错

SET GLOBAL log_bin_trust_function_creators=1;

四.创建函数

1.随机产生字符串

DELIMITER $CREATE FUNCTION RAND_STR(n INT) RETURNS VARCHAR(255)BEGIN DECLARE chars_str VARCHAR(100) DEFAULT 'abcdefghijklmnopqrstuvwsyzABCDEFGHIJKLMNOPQRSTUVWXYZ';  DECLARE return_str VARCHAR(255) DEFAULT ''; DECLARE i INT DEFAULT 0; WHILE i< n DO  SET return_str =COUCAT(return_str,SUBSTRING(chars_str,FLOOR(1+RAND()*52),1)); SET i= i+1; END WHILE; RETURN return_str;END $
DELIMITER $CREATE FUNCTION RAND_num() RETURNS INT(5)BEGIN DECLARE i INT DEFAULT 0;  SET i= FLOOR(100+RAND()*10); RETURN i;END $
DELIMITER $CREATE PROCEDURE insert_emp(IN START INT(10),IN max_num INT(10))BEGIN  DECLARE i INT DEFAULT 0;SET autocommit = 0;REPEAT #重复SET i = i + 1;INSERT INTO emp(empon,ename,job,mgr,hiredate,sal,comm,depton) VALUES ((START+i),RAND_STR(6),'SALESMAN',0001,CURDATE(),2000,400,RAND_num()); UNTIL i = max_num END REPEAT; COMMIT;END $
DELIMITER $CREATE PROCEDURE insert_dept(IN START INT(10),IN max_num INT(10))BEGIN  DECLARE i INT DEFAULT 0;SET autocommit = 0;REPEAT #重复SET i = i + 1;INSERT INTO dept(deptno,dname,loc) VALUES ((START+i),RAND_STR(10),RAND_STR(8)); UNTIL i = max_num END REPEAT; COMMIT;END $

这个错误是一个小坑 发现了吗 我之前留下的 根据提示 去排查吧

执行成功!

2.查看数据

重头戏来喽! 一次性干他百万条数据 赌一把 看看会不会玩崩了

3.执行百万插入

CALL insert_dept(10001,1000000);

400s跑百万数据 一秒2500条 我这配置太垃圾 以前测试的是一秒一万 最好50W跑一次

欧克 睡觉

总结

更多相关文章

  1. MySQL系列多表连接查询92及99语法示例详解教程
  2. mybatisplus的坑 insert标签insert into select无参数问题的解决
  3. Pycharm安装PyQt5的详细教程
  4. python起点网月票榜字体反爬案例
  5. 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
  6. 《Android开发从零开始》——25.数据存储(4)
  7. Android系统配置数据库注释(settings.db)
  8. android用户界面之按钮(Button)教程实例汇
  9. Android中不同应用间实现SharedPreferences数据共享

随机推荐

  1. Android手机上关于viewport的理解
  2. Android 漫游之路------Android电话拨号
  3. Android中minSdkVersion、targetSdkVersi
  4. Android窗体悬浮在另一个窗体
  5. android 设置app版本号
  6. Android 聊天软件实现
  7. Android动画效果生动有趣的通知NiftyNoti
  8. Android应用程序开发(第三版)-课后习题解答
  9. android屏幕监视工具 android screen mon
  10. Android(安卓)TextView长按复制文本