問題
在實驗 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 版本。
閱讀更多 愛可生雲數據庫 的文章