mysql测试数据创建

用存储过程方式创建几十几百万条测试数据,2核4G里插入1万条,约8.5秒,也就是24小时可以加大约1亿条记录。

//创建库,用户
create database dbTest;
create user ‘useTest‘@‘%‘ IDENTIFIED BY ‘pwdTest‘;
grant select,update,delete,insert on dbTest.* to [email protected]‘%‘;
flush privileges;
use dbTest;

//创建表
DROP TABLE IF EXISTS `tabTest`;
CREATE TABLE `tabTest` (
  `testID` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT ‘ID‘,
  `testTitle` varchar(10) DEFAULT NULL COMMENT ‘title‘,
  `testBody` varchar(100) DEFAULT NULL COMMENT ‘boey‘,
  `testType` tinyint(10) unsigned DEFAULT NULL COMMENT ‘title len‘,
  `testValue` int(10) unsigned DEFAULT NULL COMMENT ‘body len‘,
  PRIMARY KEY (`testID`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT=‘test‘;
alter table tabTest auto_increment=1;

//创建存储过程,里面一长段汉字,用于随机抽取内容,可以随便改这段文字,但其中最好不要含用符号。

DELIMITER $$
DROP PROCEDURE IF EXISTS `addTest`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `addTest`(IN insSum int,IN lenTitle int,IN lenBody int)
BEGIN
    DECLARE i INT UNSIGNED DEFAULT 1;
    SET i=0;
    set @str=‘据新华社电日前,中共中央政治局常委、国务院总理李克强主持国务院专题讲座,讨论加快发展先进制造与3D打印等问题。李克强指出,推动中国制造由大变强,要紧紧依靠深化改革和创新驱动,加快实施“中国制造2025”和“互联网+”行动,努力克服创新能力弱、产品附加值不高、管理和销售服务落后、资源环境约束加剧等问题,突破发达国家先进技术和发展中国家低成本竞争的双重挤压,通过创业创新助推产业和技术变革,在转变发展方式中培育中国制造竞争新优势,促进经济中高速增长,迈向中高端水平。李克强强调,提高中国制造整体竞争力,关键要用大众创业、万众创新激发亿万人的创造活力。深入推进简政放权、放管结合、优化服务改革,完善政府监管方式,营造破束缚、汇众智、促创新和维护公平的良好环境。要以众创、众包、众筹、众扶等推动企业包括大企业生产模式和组织方式变革,通过体制创新增强聚集各类创新资源的能力和内生创新活力,让有界的传统企业变成开放式、协同式创新平台,让广大热衷创新创造的创客和极客大展身手,使“双创”成为新动能,让更多有生命力的前沿技术和新兴产业集群蓬勃发展,共同铸就中国制造业新辉煌。现场“不用赶时间”总理请院士敞开讲8月21日下午,国务院第一会议室变成了一间临时讲座场所。主讲者是一位70岁的白发院士,而“听众”则是国务院总理、副总理、国务委员,以及各部部长、央企、金融机构的负责人。第一会议室平日里是召开国务院常务会议、讨论部署重大政策的地方。今天,它变成本届政府首次“专题讲座”的课堂。第一次专题讲座题目很“潮”国务院第一次专题讲座的题目很“潮”:先进制造与3D打印。中国工程院院士、“高档数控机床与基础制造装备”重大专项技术总师、西安交通大学机械工程学院院长卢秉恒受邀主讲。李克强开宗明义表示,当今技术革命对经济发展、推动经济升级起着极为关键的作用,我们正在倡导大众创业万众创新,也是用创新的手段来推动创业。新事物层出不穷,像3D打印已经成为国际上一个新的技术潮流,实际上从实验室研究到开始应用已经很长时间了。“今天这个专题讲座,特意请国务院各位领导、各位部长们和央企、金融机构的负责人来听听讲解,以增加我们新的知识,同时也能启发我们的创新思维。”事实上,这场专题讲座本身安排得就颇有新颖之处。在会场外迎接“听众”的,除了往常的工作人员外,还有一个闪烁着“笑脸”的智能机器人。国务院第一会议室内历来“惜时如金”。常务会议上,部长们的汇报时间原则上不超过10分钟。即便召开各类座谈会,时间控制不好的发言者经常也会收到工作人员的纸条提示。卢秉恒院士在这方面显然相当严谨。他对讲稿中的一些段落有时仅举其要,PPT演示中的一些要点也只是一语带过。李克强总理很快注意到此点。他马上插话道:“卢院士,您敞开讲,没关系,不用赶时间。我们今天主要就是听您讲,不用节省时间。”“3D打印展现了全民创新的通途”卢秉恒分析了我国制造业发展现状,尤其指出其中存在的问题,如高端装备制造的核心技术尚待加强、机器人和数控机床等底层装备的自动化信息化不够、企业创新能力差、协调发展不充分等。他重点讲解了3D打印。从制造方式来说,铸锻焊在制造过程中重量基本不变,属于“等材制造”,已有3000年历史;随着电动机发明,车铣刨磨机床出现,通过材料的切削去除达到设计形状,称为“减材制造”,已有300年历史;而以3D打印为代表的“增材制造”,1984年提出,1986年实现样机,才30年时间,是极有前景的制造技术。权威机构的报告列出了对人类生活具有颠覆性影响的12项技术,3D打印排第9位,列新材料和页岩气之前。在介绍了光固化、选择性激光烧结/熔融、熔融堆积等几种当前主流技术后,卢院士重点讲到了3D打印所带来的革命性改变。2014年,GE公司研发的飞机发动机喷嘴,把20个零件做成了一个零件,材料成本大幅度减少,还节省燃油15%。这等于一代发动机的概念。而每开发一代发动机要上亿欧元,如今一个喷嘴就解决了。还是这家公司,曾在网上发布了一条消息,挑战3D打印,将飞机的一个零部件让创客设计。收集的700多个方案中,第一名只用了原始结构的1/6的重量就完成了全部测试。设计者是一个19岁的年轻人,方案超过了GE公司里的资深专家。“3D打印展现了全民创新的通途。”卢秉恒笃定地说。增材制造的前景是“创材”,即按照材料基因组,研制出超高强度、超高耐温、超高韧性、超高抗蚀的新材料。目前3D打印已制造出了耐温3315摄氏度的合金,用于“龙飞船2号”,大幅增强了飞船推力。进而可以从“创材”到“创生”,即打印细胞制造器官,甚至把基因打印在细胞里实现基因变异。卢院士介绍,我国的3D打印相比国外,研究起步并不晚,技术并不落后,某些方面还处于领先地位,但产业的发展太慢,企业规模不足。上述颠覆性技术都是2013年、2014年刚刚出来的,可见这一领域现在处于技术井喷期,企业处于跑马圈地期。我们国家应该及时拿出自己的应对策略来。总理追问“互联网+”与“+互联网”中国工程院研讨过制造强国的一些指标:规模、质量、结构优化、可持续发展,等等。2012年,中国的综合指标为814,落后于美国(1559)、日本(1213)、德国(1107)等国。卢秉恒比较了中、德、美三国,认为德国的工业优势在于质量过硬、基础雄厚、工艺严谨;美国的优势在于社会创新、高科技研发、集全球资源与精英;中国的优势则在于有比较完整的工业体系、内需市场巨大、人力资源丰富。他建议,中国目前需要在工业20、30方面补课,即质量优先、机器人和高档数控机床,同时推进实施“中国制造2025”,大力发展工业40。国家层面的协同创新,卢院士比较了德国的弗朗霍夫研究院和美国的制造创新网络计划。前者是德国工业创新的策源地,后者是美国为了消除基础研究与产业化技术之间的鸿沟。他认为,德国的模式偏重“制造+互联网”,而美国则偏重“互联网+制造”。听到这里,李克强总理马上追问道:“‘互联网+制造’和‘制造+互联网’究竟有什么不同?请您详细阐述一下。”卢秉恒进行了解释,并建议对美国和德国的优势要素都要合理地进行吸收。他尤其强调,要用工业互联网构成高技术的服务业,构建新机制的创新体系,驱动知识信息的流动。企业的资源是有限的,用工业互联网把全国的、全社会的,乃至全球的人才、资源都集中到一块,达到优化整合——这就是智能制造的精华。卢院士说,必须突破围墙,让知识充分流动起来,补足中国制造业开发能力弱的短板,这就是互联网带动制造业发展的真谛,也是最大的效益所在。他设想了未来制造业可能的前景:一半以上的制造为个性化定制,一半以上的价值由创新设计体现,一半以上的企业业务由众包完成,一半以上的创新研发由极客、创客实现。这场为时不长的专题讲座,现场近百名“听众”先后报以4次热烈的掌声。卢秉恒最后起身致谢时,坐在他正对面的李克强总理连连摊手示意这位院士:“您请坐,您请坐!”李克强结语说:“组织这次专题讲座的目的,是希望大家多了解新事物、了解新情况,在这一过程中不仅学习新技术,更要吸收新理念,并且要和政府职能结合起来创新思考。希望各部门今后也可以多组织这样的专题讲座。‘;

loop1: LOOP
      SET i=i+1;
      if i>insSum then
      LEAVE loop1;
      end if;

set @key=SUBSTRING(@str,FLOOR(rand()*(length(@str)/3-10)),2+FLOOR(rand()*lenTitle));
      set @title=SUBSTRING(@str,FLOOR(rand()*(length(@str)/3-20)),5+FLOOR(rand()*lenBody));
      insert INTO tabTest(testTitle,testBody,testType,testValue) values (@key,@title,length(@title),length(@key));

select i,insSum-i;

END LOOP loop1;
END$$
DELIMITER ;

//调用过程开始添加数据,数字为要添加的条数
call addTest(2,5,80);

2:本次要添加的条数

5:title的最大长度,实际最大比这个要大2,也就是最少2个字;

80:body的最大长度,实际比这大5。

select * from tabTest order by testID desc limit 10\G;

时间: 2024-08-01 11:09:53

mysql测试数据创建的相关文章

Mysql无法创建外键的原因

MySQL无法创建外键的原因 1.  两个字段的类型或者大小不严格匹配.例如,如果一个是int(10),那么外键也必须设置成int(10),而不是int(11),也不能是tinyint.另外,你还必须确定两个字段是否一个为 signed,而另一个又是unsigned(即:无符号),这两字段必须严格地一致匹配,更多关于signed和unsigned的信息,请参阅:http://www.verysimple.com/blog/?p=57 2. 试图设置外键的字段没有建立起索引,或者不是一个prima

centos7下使用yum安装mysql并创建用户,数据库以及设置远程访问

CentOS7的yum源中默认好像是没有mysql的.为了解决这个问题,我们要先下载mysql的repo源. 1. 下载mysql的repo源 $ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 2. 安装mysql-community-release-el7-5.noarch.rpm包 $ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm 安装这个

mysql用户创建、授权

#test表示你要建立的用户名,后面的123表示密码 #用户可以在任何地方登陆 mysql> create user test identified by'123'; #限制在固定地址登陆 mysql> create user [email protected] identified by '123'; #格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码" mysql> grant all on *.* to

MySql中创建存储过程

MySQL 存储过程是从 MySQL 5.0 开始增加的新功能.存储过程的优点有一箩筐.不过最主要的还是执行效率和SQL 代码封装.特别是 SQL 代码封装功能,如果没有存储过程,在外部程序访问数据库时(例如 PHP),要组织很多 SQL 语句.特别是业务逻辑复杂的时候,一大堆的 SQL 和条件夹杂在 PHP 代码中,让人不寒而栗.现在有了 MySQL 存储过程,业务逻辑可以封装存储过程中,这样不仅容易维护,而且执行效率也高. 一.MySQL 创建存储过程 "pr_add" 是个简单的

MySQl索引创建

一.什么是索引? 索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存.如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录.表里面的记录数量越多,这个操作的代价就越高.如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置.如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录快100倍. 假设我们创建了一个名为people的表: CREATE TABLE people ( p

MySQL里创建外键时错误的解决

--MySQL里创建外键时错误的解决--------------------------------2014/04/30在MySQL里创建外键时(Alter table xxx add constraint fk_xxx foreign key),提示错误,但只提示很简单的信息:ERROR 1005 (HY000): Can't create table '.\env_mon\#sql-698_6.frm' (errno: 150).根本起不到解决问题的作用.要看错误的详细提示,可以使用命令:(

转!!!Mysql无法创建外键的原因

在Mysql中创建外键时,经常会遇到问题而失败,这是因为Mysql中还有很多细节需要我们去留意,我自己总结并查阅资料后列出了以下几种常见原因. 1.  两个字段的类型或者大小不严格匹配.例如,如果一个是int(10),那么外键也必须设置成int(10),而不是int(11),也不能是tinyint.另外,你还必须确定两个字段是否一个为 signed,而另一个又是unsigned(即:无符号),这两字段必须严格地一致匹配,更多关于signed和unsigned的信息,请参阅:http://www.

phpMyAdmin中mysql的创建数据库时的编码的问题

转载自新浪博客    Sean 一. mysql中utf8编码的utf8_bin,utf8_general_cs,utf8_general_ci的区别 utf8_general_ci 不区分大小写,这个你在注册用户名和邮箱的时候就要使用. utf8_general_cs 区分大小写,如果用户名和邮箱用这个 就会照成不良后果 utf8_bin: compare strings by the binary value of each character in the string 将字符串每个字符串

MySQL ODBC创建

一. 创建MySQL ODBC: 1. 开始菜单=>控制面板=>管理工具: 注意: 1). Data Source Name:就是以后代码访问ODBC的名字.具体使用参考以后分析. 2). TCP/IP Server: 如果有数据库服务器,请输入服务器IP,如果是本机请输入:127.0.0.1 3). Port:默认是3306(但是在安装MySQL的时候可能会有变化) 4). User:root(My SQL的账号) 5). Password:是登陆MySQL的密码 6. DataBase: