mysql快速生成100W条测试数据(1):游戏人物数据

文章介绍了如何使用Navicat工具创建一个包含游戏人物属性的数据库表,并生成100万条虚拟数据,包括ID、姓名、性别、等级、属性等,这些数据可用于数据库性能测试和大数据分析。生成过程包括设置数据范围和类型,最后成功将数据插入MySQL数据库中。
摘要由CSDN通过智能技术生成

最近正在一直苦恼如果去获取更多的数据以用来进行后期的查询和进行测试,发现了Navicat这个不错的宝藏,他可以一下子根据你数据库里面创建的各种各样的字段和约束创建出各种各样你自己想要的大量数据,当然这些数据非真实数据而是虚拟数据,为了让这些数据变得更加真实我们需要对其进行一些修改和清洗,添加一些约束。

1.首先我们先来新建一张表里面就是游戏人物的一些相关属性

游戏人物id、姓名、等级、性别、血量,魔力、力量,智力,体力,精神这十个就是我们需要生成的相关数据

CREATE TABLE `gameplayer` (
  `id` int NOT NULL,
  `gameplayer` varchar(25) DEFAULT NULL,
  `sex` char(2) DEFAULT NULL,
  `Grade` int DEFAULT NULL,
  `HP` int DEFAULT NULL,
  `magic` int DEFAULT NULL,
  `strength1` int DEFAULT NULL,
  `intelligence` int DEFAULT NULL,
  `physical` int DEFAULT NULL,
  `strength` int DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

2.创建好我们的表之后就在Navicat中点击我们刚创建好的表,然后点击数据生成

在这里插入图片描述
因为我们需要生成100万条数据所以我们就在这个生成行数选择100万
在这里插入图片描述

3.id会跟随你的表大小自动递增

在这里插入图片描述

4.因为游戏玩家肯定会用英文名和中文名所以我们使用Navicat默认的姓名,选择中英文以及拼音显示。

在这里插入图片描述

5.性别这里就也是使用默认然后选择中文男女即可

在这里插入图片描述

6.grade就是等级目前为止为了防止数据太过于混乱所以这个等级我们就从1-255就行

在这里插入图片描述

7.hp血槽就用默认的数字,设置从1000开始到100万

在这里插入图片描述

8.魔力也同血槽一样从1000到100万

在这里插入图片描述

9.strength1代表力量也就是从1-1000方便计算

在这里插入图片描述

10.intelligence也就是智力同力量一样

在这里插入图片描述

11.physical也就是体力同上即可在这里插入图片描述

12.strength也就是精神力和其他一样

在这里插入图片描述

13.所有值创建完毕之后点击下一步

在这里插入图片描述
然后就可以看到大量的随机生成的数据然后
在这里插入图片描述
我们点击开始生成数据
在这里插入图片描述
然后耗时22秒我们可以看到成功插入100万条数据进了mysql数据库里面的表
在这里插入图片描述

14.然后再把表打开可以看到我们已经有了100万条数据在表里面,

后续我们可以用这些数据进行大数据可视化也可以用于一些mysql的性能提升和压力测试。
在这里插入图片描述

快速插入100w数据MySQL数据库中,可以使用以下方法: 1. 使用批量插入语句:将多插入语句合并成一,通过一次性插入多数据,减少与数据库的通信次数。例如,可以将100w数据分成100组,每组10000数据,然后使用一INSERT语句插入每组数据。 2. 关闭自动提交:在开始插入数据之前,可以将数据库的自动提交功能关闭。这样,插入所有数据后再一次性提交事务,减少了频繁的事务提交对数据库的影响,提高插入速度。 3. 使用LOAD DATA INFILE语句:该语句可以直接从文件中读取数据,并将其插入到数据库中。将100w数据保存在一个文本文件中,然后使用LOAD DATA INFILE语句一次性将所有数据导入到数据库中,避免了多次网络传输,提高了插入速度。 4. 设置合适的缓冲区大小:通过调整MySQL的配置,将插入操作的缓冲区大小设置得合理,可以提高插入速度。可以通过增加`innodb_buffer_pool_size`的值来提高缓冲区大小,或者使用`LOAD DATA INFILE`导入数据时指定`SET bulk_insert_buffer_size`参数来设置缓冲区大小。 5. 使用并行插入:通过多线程或多个连接同时插入数据,可以加快插入速度。可以将100w数据分成多个文件,然后使用不同的线程或连接同时插入这些文件中的数据。 6. 合理优化表结构:对于需要频繁插入数据的表,可以对表结构进行优化,如选择合适的数据类型和索引,避免不必要的约束和触发器等,以提高插入性能。 通过上述方法的组合应用,可以快速插入100w数据MySQL数据库中。但是插入数据的速度还受到硬件设备、数据库配置、网络状况等因素的影响,不同的环境可能会有不同的结果。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

轻烟飘荡

我想吃甜筒

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值