mysql 快速生成百万条测试数据

转自:http://www.cnblogs.com/jiangxiaobo/p/6101072.html

1、生成思路

利用mysql内存表插入速度快的特点,先利用函数和存储过程在内存表中生成数据,然后再从内存表插入普通表中

2、创建内存表及普通表

复制代码
CREATE TABLE `vote_record_memory` (`id` INT (11) NOT NULL AUTO_INCREMENT,`user_id` VARCHAR (20) NOT NULL,`vote_id` INT (11) NOT NULL,`group_id` INT (11) NOT NULL,`create_time` datetime NOT NULL,PRIMARY KEY (`id`),KEY `index_id` (`user_id`) USING HASH
) ENGINE = MEMORY AUTO_INCREMENT = 1 DEFAULT CHARSET = utf8
复制代码
复制代码
CREATE TABLE `vote_record` (`id` INT (11) NOT NULL AUTO_INCREMENT,`user_id` VARCHAR (20) NOT NULL,`vote_id` INT (11) NOT NULL,`group_id` INT (11) NOT NULL,`create_time` datetime NOT NULL,PRIMARY KEY (`id`),KEY `index_user_id` (`user_id`) USING HASH
) ENGINE = INNODB AUTO_INCREMENT = 1 DEFAULT CHARSET = utf8
复制代码

3、创建函数及存储过程

复制代码
CREATE FUNCTION `rand_string`(n INT) RETURNS varchar(255) CHARSET latin1
BEGIN 
DECLARE chars_str varchar(100) DEFAULT 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; 
DECLARE return_str varchar(255) DEFAULT '' ;
DECLARE i INT DEFAULT 0; 
WHILE i < n DO 
SET return_str = concat(return_str,substring(chars_str , FLOOR(1 + RAND()*62 ),1)); 
SET i = i +1; 
END WHILE; 
RETURN return_str; 
END
复制代码
复制代码
CREATE  PROCEDURE `add_vote_memory`(IN n int)
BEGIN  DECLARE i INT DEFAULT 1;WHILE (i <= n ) DOINSERT into vote_record_memory  (user_id,vote_id,group_id,create_time ) VALUEs (rand_string(20),FLOOR(RAND() * 1000),FLOOR(RAND() * 100) ,now() );set i=i+1;END WHILE;
END
复制代码

4、调用存储过程

CALL add_vote_memory(1000000)
根据电脑性能不能所花时间不一样,大概时间在小时级别,如果报错内存满了,只在修改max_heap_table_size 个参数即可,win7修改位置如下,linux,修改my.cnf文件,修改后要重启mysql,重启后内存表数据会丢失

5、插入普通表中

INSERT into vote_record SELECT * from  vote_record_memory

6、结果

转载于:https://www.cnblogs.com/sharpest/p/9932975.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/276935.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自动化专业学python有用吗-马哥教育官网-专业Linux培训班,Python培训机构

今天小编要来说一下Python自动化的学习思路&#xff0c; 对于刚刚进入的测试行业的人来说&#xff0c;未来该怎么样朝着自动化方向发展&#xff0c;即使接触到了自动化测试&#xff0c;又该从何下手去学呢&#xff1f; 简单的说&#xff0c; 做测试做的好&#xff0c;会了接口&…

java JVM

每一个Java虚拟机都由一个类加载器子系统&#xff08;class loader subsystem&#xff09;&#xff0c;负责加载程序中的类型&#xff08;类和接口&#xff09;&#xff0c;并赋予唯一的名字。每一个Java虚拟机都有一个执行引擎&#xff08;execution engine&#xff09;负责执…

马化腾联手10余位科学家发起科学探索奖,腾讯基金投入10亿元启动资金

11月9日消息&#xff0c;据腾讯科技报道&#xff0c;腾讯基金会于腾讯公司成立20周年之际宣布&#xff0c;腾讯公司董事会主席兼首席执行官&#xff0c;腾讯基金会发起人马化腾&#xff0c;与北京大学教授饶毅&#xff0c;携手杨振宁、毛淑德、何华武、邬贺铨、李培根、陈十一、…

给Domino系统管理员的十二项建议

Domino系统管理员的日常工作就是维护Domino系统的正常运行。以下简要说明了管理员所必做的一些工作。对于系统管理员&#xff0c;特别是新建系统的管理员来说&#xff0c;这些建议能帮助他们完成基本的维护工作。 根据许多资深的Domino管理员和咨询人员的经验&#xff0c;我们对…

delphi 软件在线人数统计_8款值得学习的科研论文作图软件

写在前面科研绘图在国外已经非常流行&#xff0c;且被高度重视&#xff0c;国内科研人员也越来越重视科研方面的绘图。不少科研工作者&#xff0c;包括在读的博士生、研究生等可能都有这样的体会&#xff1a;千辛万苦得来的实验结果&#xff0c;不知道该如何展现给别人?曾经有…

技术管理—管理书籍推荐

技术出身&#xff0c;考虑接触下管理方面的知识。也许管理真的适合你&#xff0c;角色认知角色实践角色胜任&#xff01;最后爱上它&#xff01; 我最喜欢的一本书--高效能人士的七个习惯 作者&#xff1a;史蒂芬柯维&#xff08;Stephen Richards Covey&#xff09; 该…

JS 几种数据类型及其转换

ECMAScript 标准定义了 7 种数据类型: Number&#xff1b;String&#xff1b;Boolean&#xff1b;Symbol&#xff1b;Null&#xff1b;Undefined&#xff1b;Object 。通常&#xff0c;数值、字符串、布尔值、undefined和null这五种类型&#xff0c;合称为简单类型的值&#xf…

网络虚拟化有几种实现方式_停车场管理系统的防砸车功能有几种方式?如何实现?...

原标题&#xff1a;停车场管理系统的防砸车功能有几种方式&#xff1f;如何实现&#xff1f;前言0101正文一、压力波防砸装置也叫遇阻防砸&#xff0c;主要是安装遇阻返回装置&#xff0c;当道闸杆下落过程中接触到车辆或者行人(接触力度是可以调节的)&#xff0c;装置道闸杆底…

Socket 死连接详解

当使用 Socket 进行通信时&#xff0c;由于各种不同的因素&#xff0c;都有可能导致死连接停留在服务器端&#xff0c;假如服务端需要处理的连接较多&#xff0c;就有可能造成服务器资源严重浪费&#xff0c;对此&#xff0c;本文将阐述其原理以及解决方法。 在写 Socket 进行通…

[Swift]LeetCode1146. 快照数组 | Snapshot Array

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号&#xff1a;山青咏芝&#xff08;shanqingyongzhi&#xff09;➤博客园地址&#xff1a;山青咏芝&#xff08;https://www.cnblogs.com/strengthen/&#xff09;➤GitHub地址&a…

aspnet中gridview文本只显示开始几个文本_软网推荐:三个小软件 轻松解决文本操作难题...

TXT文本操作在Windows操作中算是比较容易的事了&#xff0c;但简单的文本操作也会遇到难题。例如&#xff0c;对于我们反复需要使用的多个信息&#xff0c;如果仅靠CtrlC和CtrlV来回复制、粘贴&#xff0c;效率会极低&#xff1b;再如&#xff0c;对于一些软件组件中显示的文本…

刚被IBM收购的红帽,它的下一站是中国

前不久IBM斥资340亿美元收购红帽的新闻震惊了所有人&#xff0c;这个金额是互联网上第三大交易&#xff0c;也是开源史上最大交易。这个收购背后到底有哪些目的&#xff1f;红帽接下来会做什么&#xff1f;11月6日红帽在北京举办红帽论坛&#xff0c;向外界介绍了红帽的想法。 …

验证DetailsView插入数据不为空

验证DetailsView插入数据不为空,在对象数据源ObjectDataScource&#xff08;ChannelDS&#xff09;的Inserting事件中写如下代码&#xff1a;protected void ChannelDS_Inserting(object sender, ObjectDataSourceMethodEventArgs e) { string name "";…

为什么onenote一直在加载_OneNote:科研笔记独一无二的无敌利器

每个人都梦想着自己有超乎常人的记忆力&#xff0c;拥有者过目不忘的技能&#xff0c;从此走向人生巅峰……然而我们都不是那样的人&#xff0c;在这个高速发展的数字新信息时代&#xff0c;进行有效的记忆&#xff0c;保存我们随时到来的灵感等&#xff0c;这就需要我们进行笔…

WPF 实现 DataGrid/ListView 分页控件

原文:WPF 实现 DataGrid/ListView 分页控件在WPF中&#xff0c;通常会选用DataGrid/ListView进行数据展示&#xff0c;如果数据量不多&#xff0c;可以直接一个页面显示出来。如果数据量很大&#xff0c;2000条数据&#xff0c;一次性显示在一个页面中&#xff0c;不仅消耗资源…

Sql Server 中汉字处理排序规则,全角半角

--1. 为数据库指定排序规则CREATEDATABASEdb COLLATE Chinese_PRC_CI_ASGOALTERDATABASEdb COLLATE Chinese_PRC_BINGO/**//**/--2. 为表中的列指定排序规则CREATETABLEtb(col1 varchar(10),col2 varchar(10) COLLATE Chinese_PRC_CI_AS)GOALTERTABLEtb ADDcol3 varchar(10) CO…

解决局域网设置固定IP后无法上网?

1.cmd中输入ipconfig /all查看ip和dns的状态 2.查看自动获取的dns是什么,然后手动设置ip和dns时,和自动获取的保持一样即可 注解&#xff1a;设置后还是无法上网后主要检查ip与dns是否设置错误. 转载于:https://www.cnblogs.com/yanans/p/11301061.html

鼠标输入

一、隐藏并捕捉光标 偏航角和俯仰角是通过鼠标移动获得的&#xff0c;水平的移动影响偏航角&#xff0c;竖直的移动影响俯仰角。 原理是&#xff0c;存储上一帧鼠标的位置&#xff0c;在当前帧中计算鼠标位置与上一帧的位置相差多少。如果水平/竖直差别越大&#xff0c;那么俯仰…

c#用canny算子做边缘提取_机器视觉学习(三)边缘检测

一、边缘检测二、边缘检测流程三、Canny边缘检测前言边缘检测是图像处理和计算机视觉中&#xff0c;尤其是特征提取中的一个研究领域。有许多方法用于边缘检测&#xff0c;它们的绝大部分可以划分为两类&#xff1a;基于一阶导数首先计算边缘强度&#xff0c; 通常用一阶导数表…

一个有关Update类型的存储过程的问题

CREATE PROCEDURE testupdateproc AS declare id int declare trandate datetime declare tranlimit int update test set trandatetrandate, tranlimittranlimit where test.idid GO 存储过程语句如上&#xff0c;检查语法是没有问题的&#xff0c;但是在程序中执行时却不行…