问题:
我已经有表结构,想造一些实验数据。
除了用存储过程和自己写程序,还有什么快速的方法?
实验:
我们先建一个库,
创建一张表,让表的列多一些,
下载好我们需要的工具,
现在我们就可以来生成数据了,
在比较一般的虚拟机上,为一个 26 列的表生成十万条数据,大概需要近 4 分钟的时间。
来看一下生成的数据:
值得一提的是,其中的文本生成规则,对应不同长度的字段,生成的规则也不同,文档如图:
小贴士
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 的技术内容,你们还有什么想知道的吗?赶紧留言告诉小编吧!