问题
在实验 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 版本。