私はたいていの場合、ユーザーセッションやログテーブルでFKを使用しないと言っていると聞いていますが、通常は高書き込みテーブルであり、書き込まれたデータはほとんど常に更新や削除がありません。セッション/ログテーブルのキー設計の質問
しかし、問題は、私はこれらのようなcolunmsを持っている: USER_ID(ユーザーへのセッションやアクティビティログへのリンク) ACTIVITY_ID(システム・アクティビティ・ルックアップ・テーブルにログアクティビティテーブルをリンク) SESSION_ID(ユーザログテーブルをリンクします親セッションで) ... 4〜5個の列があります。
FKを使用しないと、これらの列はどのように「関連」しますか?テーブルに参加してFKなしでユーザー情報を取得できますか? FKなしで正しいデータを書き込めますか?どんなパフォーマンスに影響を与えるのか、それとも人々はちょうど話し、これはいいえではないと言いますか?
FKを使用しないと、データをルックアップテーブルに接続することはできますか?
私はすべてのテーブルに対してInnoDBを持っています。ウェブサイトはソーシャルネットワークなので、データは重要です。まあ、ソーシャルネットワークのログテーブル(ユーザーのあらゆる動きを追跡するため、ログインごとにユーザーごとの詳細をトラッキングすることで、少なくとも150〜200行が追加されていることが想像できる)ので、テーブルサイズは大きくなります。 – JRayder