私は考えていた、
追加される型をルール化できると確信しているので、MySQLで制約を外部キーとして使用する動機は何ですか?
パフォーマンスは向上しますか?
外部キー 強制 参照整合性 。これらの制約により、テーブルの行order_details
とフィールドorder_id
orders
テーブルを参照すると、order_id
orders
テーブルに存在しない値。
外部キーはリレーショナルデータベースが機能している必要はありません(実際 MySQLのデフォルトのストレージ エンジンはFKをサポートしていません)が、関係の破壊や孤立した行(つまり、参照整合性)を回避するために不可欠です。 )。 [〜#〜] acid [〜の[〜#〜] c [〜#〜]には、データベースレベルで参照整合性を適用する機能が必要です#〜] 立ちます。
パフォーマンスに関する懸念については、一般にパフォーマンスコストがありますが、おそらく無視できます。すべての外部キー制約を設定することをお勧めします。他の方法では解決できない実際のパフォーマンス問題がある場合にのみ、それらを使用しないで実験してください。