1.创建随机字符串函数,便于创建名称

-- delimiter $$
-- 执行出现“This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled
-- (you *might* want to use the less safe log_bin_trust_function_creators variable)” 错误时需要先设置log_bin_trust_function_creators
-- set global log_bin_trust_function_creators=1;DROP function if EXISTS rand_string;
#创建一个指定字符个数的函数
create function rand_string(n INT)
#返回字符串,注意:此处关键字是returns 而不是return
returns varchar(255)
BEGIN#定义一个临时变量,给变量赋值'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'DECLARE chars_str varchar(100) DEFAULT 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';# 定义返回结果字符串DECLARE return_str varchar(255) DEFAULT '';DECLARE i int DEFAULT 0;WHILE i < n DOset return_str = CONCAT(return_str,SUBSTRING(chars_str,FLOOR(1+RAND()*52),1));set i=i+1;END while;RETURN return_str;
END

2.创建随机编号生成函数

drop function if exists rand_num;
CREATE function rand_num()
returns int(5)
BEGINDECLARE i int default 0;set i = FLOOR(10+RAND()*500);return i;
END

3.创建数据表 – 部门表 dept

drop table if EXISTS dept;
create table dept (deptno MEDIUMINT UNSIGNED not null DEFAULT 0,dname varchar(20) default '',ioc varchar(13) default''
) ENGINE = myisam default CHARSET ='utf8';
ALTER table dept add PRIMARY key(deptno);

4.创建数据表 – 员工表 emp

drop table if EXISTS emp;
CREATE TABLE `emp` (`empno` mediumint(8) unsigned NOT NULL DEFAULT '0',`ename` varchar(20) NOT NULL DEFAULT '',`job` varchar(9) NOT NULL DEFAULT '',`mgr` mediumint(8) unsigned NOT NULL DEFAULT '0' COMMENT '上级编号',`hiredate` date NOT NULL COMMENT '入职日期',`salary` decimal(7,2) NOT NULL COMMENT '薪水',`comm` decimal(7,2) NOT NULL COMMENT '红利',`deptno` mediumint(8) unsigned NOT NULL DEFAULT '0' COMMENT '部门编号'
) ENGINE=MYISAM DEFAULT CHARSET=utf8;

5.插入测试数据

drop PROCEDURE IF EXISTS insert_emp ;CREATE PROCEDURE insert_emp (in start_no int(10),in max_num int(10))BEGINDECLARE i int default 0;# 设置自动提交为falseset autocommit =0;# 开启循环REPEATset i = i+1;insert into emp values((start_no+i),rand_string(6),'SALESMAN',0001,CURDATE(),rand_num(),400,0002);UNTIL i=max_numEND REPEAT;
END

6.调用存储过程,生成百万数据

call insert_emp(10000,10000000);

MYSQL用存储过程创建百万级测试数据表相关推荐

  1. 用MYSQL的存储过程创建百万级测试数据表

    创建随机字符串函数,便于创建名称 DROP function if EXISTS rand_string; #创建一个指定字符个数的函数 create function rand_string(n I ...

  2. mysql 创建十万测试表_用MYSQL的存储过程创建百万级测试数据表

    创建随机字符串函数,便于创建名称 DROP function if EXISTS rand_string; #创建一个指定字符个数的函数 create function rand_string(n I ...

  3. PostgreSQL创建百万级数据库

    @PostgreSQL创建百万级数据表 从0到1创建百万级数据表 为学习索引相关知识,创建一个377w(21年考研人数 0.0)数据的简单表,很显然普通的SQL命令很难实现(主要是我不会),因此有了这 ...

  4. MySQL 快速创建千万级测试数据

    作者:IKNOW本尊 链接:http://t.cn/E96Shud 背景 在进行查询操作的性能测试或者 sql 优化时,我们经常需要在线下环境构建大量的基础数据供我们测试,模拟线上的真实环境. 总不能 ...

  5. mysql使用存储过程创建动态表名及参数处理

    关于mysql的存储如何创建和使用:点击这里存储过程创建与使用有说明 直接上干货,我这里直接使用的是带有参数的创建 SQL如下: DELIMITER $ CREATE PROCEDURE spatia ...

  6. mysql 优化实例(百万级数据)

    2019独角兽企业重金招聘Python工程师标准>>> MySql 这个数据库绝对是适合dba级的高手去玩的,一般做一点1万篇新闻的小型系统怎么写都可以,用xx框架可以实现快速开发. ...

  7. mysql群发消息_百万级用户量的站内信群发数据库设计

    随着WEB2.0的发展,用户之间的信息交互也变得十分庞大,而且实时性要求越来越高.现在很多SNS网站和一部分CMS网站都广泛地应用了站内信这一模块,这个看似简单的东西其实背后隐藏着很多需要设计师重视的 ...

  8. EasyExcel导出百万级连表查询xlsx数据方法实测102万105秒

    先看sql语句:查询全部数据时间14秒 分页查询10万数据时间1秒左右 连接点,分组都加了索引,没加索引可能要10来分钟, sql详情: 对于百万级的数据如果一下查出来是会内存溢出的,所以需要分页查出 ...

  9. mysql数据库如何创建冗余小的表_mysql – Hibernate创建冗余的多对多表

    在开发我的Spring Boot应用程序时,我不得不放弃我的数据库并让Hibernate使用hibernate.hbm2ddl.auto = update再次生成它.之后我想确保它完成了我想做的所有事 ...

最新文章

  1. R构建KNN分类器实战
  2. 浅谈死链接和错误链接,如何防范死链接发生
  3. java optional 用法_Java8 中的 Optional 相关用法
  4. python变量词是什么意思_python1变量,表达式和语句
  5. 开课吧python小课值得么-领导想提拔你,从来看的不止努力!
  6. 在ASP.NET中上传图片并生成缩略图
  7. 数据挖掘竞赛-轴承故障检测训练赛
  8. Reactor中的Thread和Scheduler
  9. 什么样的数据应该放入缓存
  10. 解决oracle数据库连接不上的问题
  11. 用python实现一个按需生成用于vim跳转的tags文件的小程序
  12. 简单理解const是锁还是不锁!
  13. 路由与交换技术考试常见问答
  14. python10的负n次方_python的次方
  15. java 工作流开发框架比较
  16. DVD-R、DVD+R以及DVD-RW和DVD+RW的功能区别
  17. js制作走马灯和选项卡
  18. 对 kubeadm 进行故障排查
  19. C#实现将Chart图表生成JPG图片的方法
  20. 看个视频就可以日进斗金!Reaction网红,了解一下

热门文章

  1. 如何应对视觉深度学习存在的问题
  2. 牛!这位85后获得全球最高几何奖!
  3. mysql的发展进程和特点,试述数据库技术的发展过程。数据库技术发展的特点是什么?...
  4. apache php mysql配置详解,详细介绍:Apache+PHP+MySQL配置攻略_php基础
  5. DTCC 2020 | 阿里云梁高中:DAS之基于Workload的全局自动优化实践
  6. 平台式可复用的应用集成能力,助您敏捷、高效的完成企业数字化转型
  7. OPPO实时数仓揭秘:从顶层设计实现离线与实时的平滑迁移
  8. 容器安全拾遗 - Rootless Container初探
  9. Kubernetes的Device Plugin设计解读
  10. 飞桨企业版重磅发布智能边缘控制台 5分钟零代码自动化模型部署