紐付けテーブルを効率的に運用するには?

紐付けテーブルでは、紐付けできるテーブルの数に制限があります。テーブルの設計次第ではすぐに紐付けの上限に達してしまうため、紐付けテーブルを効率的に運用する方法をご紹介します。

状況

下記のようなケースを考えます。

  • 既に紐付けテーブルを作成し、ユーザー情報を紐付けている
  • 既に紐付けているテーブルに新たに属性情報を増やしたい(カラムを追加したい)

紐付けテーブルの仕様上、一度作成したテーブルのスキーマを変更することができません。つまり、新しく属性情報を追加したい場合は新規でテーブルを作成し、紐付け設定を再度行う必要があります。これを繰り返していくと、結果として紐付け中のテーブル数が増えていくことになります。

対応例

一つの紐付けテーブルで最大50カラムまで設定することができますので、後で追加したい可能性ある場合は、予め以下のようにカラムを作っておいた上でテーブルを作成しておきます。

user_id

free_value_1

free_value_2

free_value_3

A0001

true

null

null

必要ないカラムはnullにしておき、追加したい項目が発生した際にそのカラムに値を入れることで、テーブル数を節約して活用することが可能です。