XXX的APP上线了,
现需要一百万个学员的信息进行压力测试,
那么数据从哪里来呢?
直接找开发帮忙?
可能会被他鄙视!
一条一条去insert?
嗯,算了下大概需要20年!
不用怕,Happy老师接下来教你一百种方法

高效创建100万数据!

下面是XXXAPP中的一个学生成绩表, 

表结构很简单,id是主键,自增长唯一标识一个学生,sName是柠檬班每个学生的昵称,phone是手机号码,还有一个让我们既爱又恨的分数字段score。 附建表SQL:

===================================================

第一种方法:运用EXCEL辅助新增

1:excel新增少量数据

新建一个excel文件,新增一行数据,分别为1、13000000001,s_1,80对应学生成绩表中各字段 首先我们约定一个规则,现在想创建百万具有差异化的数据。

也就说用户的id需要各不相同(这个交给数据库自增长控制),用户的手机号、用户名也各不相同,成绩则希望能够用随机整数保存。

运用excel数据单元格下拉功能新增数据到excel文件中

现在我们找到一个非常简单又有效的方法来新增数据,并且各行数据间也保持了差异性,那是不是一直往下拖动就能得到100w我们想要的记录呢?

答案是否定的,Excel2003版最大行数是65536行。

Excel2007开始的版本最大行数是1048576行 ,另外大家也可以去集思广益,看是否有方法在Excel中快速按照规则填充数据,当然这个不在本贴讨论范围内!

下拉拖动能得到想要的数据,但是局限性也很明显,excel行数是是有限的,拖动也需要耗费时间,所以我们暂时拖动10000w条数据填充到excel表中。

数据有了,怎么导入到数据库? Navicat for MySQL这个神器就提供这样的功能。

==================================================

2:Navicat For MySQL导入excel表中数据

打开Navicat For MySQL,连接上MySQL数据库,右键我们刚创建的tb_lemon_student_score表,选择导入向导,选择excel文件类型进行导入,具体步骤如下图所示: 

==================================================

3:INSERT … SELECT语法复制数据

现在我们打开表查看下数据,10000条数据已经导入成功: 

但是与我们要的100w数据还相差甚远,这里教大家一个非常好用的查询插入的SQL语句,语法如下: INSERT 表1(字段1,字段2,字段3…) SELECT 字段1,字段2,字段3… FROM 表2; 该语句可以将select语句中查询出结果集插入到表中 。

现在查询出当前tb_lemon_student_score表的所有记录数,

然后使用insert…select的语法达到复制数据的效果

执行上述语句,复制插入10000条数据成功


查询,发现数据表中已经有20000的记录了 

循环使用执行上面的sql语句,就能够达到指数级插入数据的效果。

比如下一次执行,则2w记录将变成4w,再执行,则4w变成8w,以此类推,通过数次执行,数据表就有了百万级别的数据了:

==================================================

4:修改表数据保持差异性

为了保证数据的差异性,符合我们前面约定的规则:用户的id各不相同(这个交给数据库自增长控制),用户的手机号、用户名各不相同,成绩用随机整数保存,使用update语句对百万数据进行修改

最后,select抽查,数据已经符合我们的要求了

=================================================

如何快速新增百万测试数据?相关推荐

  1. mpp新增一个字段_如何快速新增百万测试数据?

    柠檬班的APP上线之前,需要一百万个学员的信息进行压力测试. 那么数据从哪里来呢?直接找开发帮忙?可能会被他鄙视! 一条一条去insert?嗯,算了下大概需要20年! 不用怕,Happy老师接下来教你 ...

  2. php 快速导出百万级数据到 csv 或者 excel 文件

    目录 一.导出思路 二.导出源码 三.蠕虫复制 一.导出思路 需要考虑服务器内存 需要考虑程序运行的最大时间 缺少 BOM 头导致乱码的处理 如果导出数量过大,推荐使用循环导出,每次循环这里以导出一万 ...

  3. php导出1万条数据excel_PHP快速导出百万级数据到CSV或者EXCEL文件

    前言: 很多时候,因为数据统计,我们需要将数据库的数据导出到Excel等文件中,以供数据人员进行查看,如果数据集不大,其实很容易:但是如果对于大数集的导出,将要考虑各种性能的问题,这里以导出数据库一百 ...

  4. 【Salesforce】快速清除所有测试数据的方法,截断(Truncate)对象

    [Salesforce]快速清除所有测试数据的方法,截断(Truncate)对象 文章目录 [Salesforce]快速清除所有测试数据的方法,截断(Truncate)对象 场景 截断功能简介 使用方 ...

  5. Mysql使用存储过程快速添加百万数据

    这篇文章主要介绍了Mysql使用存储过程快速添加百万数据,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 前言 为了体现不加索引和添加索引的区别, ...

  6. pg 快速造1000w测试数据

    pg 快速造1000w测试数据 一个 有1000w 数据的产品表: -- Table: public.product -- DROP TABLE public.product; CREATE TABL ...

  7. mysql百万数据写入_快速写入百万数据

    1.快速写入百万数据 mysql原生操作 mysql原生操作写入500万数据! # 建库 create database mydb01; # 使用库 use mydb01; # 建表 create t ...

  8. 使用MySQL可视化客户端,例如SQLyog,Navicat等,只编写SQL语句,使用2的N次方原理,快速初始化百万千万条数据

    目录 1.思路 2.创建表 3.具体操作 4.其他快速插入百万条数据的方法 4.1Java代码批量插入 4.2存储过程批量插入 1.思路 使用MySQL可视化客户端,例如SQLyog,Navicat ...

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

    1.生成思路 利用mysql内存表插入速度快的特点,先利用函数和存储过程在内存表中生成数据,然后再从内存表插入普通表中 2.创建内存表及普通表 CREATE TABLE `vote_record_me ...

最新文章

  1. 剑指offer_第3题_从尾到头打印链表
  2. SEO中的DIV CSS样式的命名规则
  3. 网易内推java 面试_网易内推面试
  4. cocos2dx-Lua与Object的通讯机制
  5. 观察者模式在JDK应用中的源码分析
  6. 能力=知识+技能+经验
  7. Linux内核 eBPF基础:perf(4)perf_event_open系统调用与用户手册详解
  8. Hadoop YARN最近几个新特性
  9. 开篇之作,什么是云原生,云原生技术为什么这么火?
  10. xp系统如何通过cmd运行命令符查看电脑配置的两种方法
  11. 【翻译】 Unity3D VR 教程:3.VR中的交互
  12. win10 请求操作需要提升解决方案
  13. 利用排序规则特点计算汉字笔划和取得拼音首字母
  14. 安装xmind之后,打开xmind文件报错
  15. 【全栈软件测试】软件测试学习路线介绍
  16. 服务器2012不能复制文件夹,windows2012标准版 目录SYSVOL和Netlogon共享和文件同步问题 - 服务器论坛 - 51CTO技术论坛_中国领先的IT技术社区...
  17. 隐藏计划任务反弹shell
  18. 手动标记用例状态_别再用「六个点」当省略号了,这些标点都有更规范的输入方式...
  19. mysql dsn设置_[分享]用数据源(用数据源(ODBC)创建数据库连接DSN设置)创建数据库连接DSN设置...
  20. 山大华特卧龙学校第一届ACM赛后总结_题目

热门文章

  1. 计算机的知识体系结构,计算机体系结构知识点
  2. bars 除障句完整_简单的治愈系晚安朋友圈问候语锦集83句
  3. STM32F427利用FSMC接口访问FPGA的SRAM(3)—— STM32F427访问FPGA的SRAM
  4. 实现canvas圆形橡皮檫像素清空功能
  5. JavaScript弹出模式窗口
  6. Python解决图文验证码登录识别(1)
  7. 沟通的艺术III:看人之间 之人际关系
  8. 金蝶软件界面乱码及输入汉字时乱码的解决方案
  9. Mac SCP简单使用(Mac WinSCP)
  10. 宇视200W 相机一天所占存储空间是多少