问题

 实验 8 中,我们为表生成了测试数据。

有小伙伴问:如果两个表有外键关系,我们生成的随机数据没法满足外键关系,怎么办?

实验

先来建一个测试库:

建两张有外键关系的表:

先为 office 表灌入一些基础数据:

然后为 user 表灌入支持外键的数据:

来看一下我们生成的效果:

可以看到生成工具为 office1 和 office2 两个外键列都生成了符合外键规范的数据:

而外键数据的采样数量正是 100。

小技巧

如果大家希望为不同的外键列,生成不同采样数量的数据,可以创建多张表,每张表分别配置一个外键列,最后将多张表合并为一张表。


在 mysql_random_data_load v0.1.12 中,存在缺陷,使得 –max-fk-samples 配置不生效,始终是 100。

目前在等待 percona 修复,如果大家着急用,可以在 https://github.com/ikarishinjieva/mysql_random_data_load/releases/download/fix_max-fk-samples/mysql_random_data_load.fix.tar.gz 下载作者临时修复的 linux 版本。