4 ポイント 投稿者 xguru 2019-11-10 | 1件のコメント | WhatsAppで共有

FK は

  • シャーディングを難しくし

  • パフォーマンスを低下させ

  • オンラインでのスキーマ移行にも問題になります。

だから私たちは FK を使いません。どこでも。

= このリポジトリは MySQL 向けのスキーマ移行ツールである gh-ost の話なので、ほかの DB には当てはまらない可能性があり、(3年前のイシューですが、新しいコメントで PostgreSQL 11 では FK のシャーディングもできるという話があったため、投稿者があらためてコメントを追記)

= テーブル間で ID による参照はしていますが、FOREIGN KEY 制約は使っていないという話です。

1件のコメント

 
coremaker 2022-05-12

整合性チェックをどのように行っているのかが鍵になりそうですね。