一问一实验 头图.png

问题:

我已经有表结构,想造一些实验数据。

除了用存储过程和自己写程序,还有什么快速的方法?

实验:

我们先建一个库,

1.png

创建一张表,让表的列多一些,
2.png

下载好我们需要的工具,

3.png

现在我们就可以来生成数据了,

4.png

在比较一般的虚拟机上,为一个 26 列的表生成十万条数据,大概需要近 4 分钟的时间。

来看一下生成的数据:

5.png

值得一提的是,其中的文本生成规则,对应不同长度的字段,生成的规则也不同,文档如图:

6.png


小贴士
Lorem Ipsum 并不是随机文本。以下引自 https://cn.lipsum.com/
Lorem Ipsum 始于西塞罗(Cicero)在公元前 45 年作的 “de Finibus Bonorum et Malorum”(善恶之尽)里 1.10.32 和 1.10.33 章节。这本书是一本关于道德理论的论述,曾在文艺复兴时期非常流行。


另外,mysql_random_load_data 工具也支持根据外键引用关系,生成外键的相关数据。

结论:

percona 为我们贡献了不少好工具,mysql_random_load_data 是其中大家比较陌生的一款。

我们经常需要做一些实验,用 sysbench、mysqlslap 等工具,自定义表结构都比较麻烦;用 generatedata 等数据生成工具,需要人工将表结构翻译成工具能识别的格式。

mysql_random_load_data 使用起来清晰简单。其实 golang 语言编写,修改起来也比较简单。

大家如有对其的改进需求,也可回复本文,如果有一定数量的需求,我们也可以开一个分支对其进行增强。


关于 MySQL 的技术内容,你们还有什么想知道的吗?赶紧留言告诉小编吧!

黄炎自媒体.png


爱可生开源社区
426 声望207 粉丝

成立于 2017 年,以开源高质量的运维工具、日常分享技术干货内容、持续的全国性的社区活动为社区己任;目前开源的产品有:SQL审核工具 SQLE,分布式中间件 DBLE、数据传输组件DTLE。