質問: Rails4+DeviseでUserデータの管理を行っております。 今回、Userデータをログイン以外にプロフィール管理など10数項目のカラムの追加をしようと思っているのですが、その際、「単にカラムを追加」するか「別テーブルにしてhas_one と belongs_toの従属の形」で作ろうか検討しております。 別サービスなどでの使い回しの上では別テーブルにした方が再利用の面でも良さそうですが、頻繁に呼び出すユーザーテーブルと考えるとパフォーマンスの面でも追加カラムにした方が良いのか判別しにくいと思っております。 こちら同じような検討されて方がいれば、どのように実装したか教えていただければと幸いです。
回答: この手の質問は人によって回答が分かれそうなので、スタック・オーバーフロー的にはNGなのかもしれませんが、とりあえず参考までに回答しておきます。 10数カラム程度であれば単にカラムとして追加、で構わないと思います。 もし50とか100とか、「User.findするたびに毎回こんなに大量のデータは使わんだろう」というボリュームなのであれば、パフォーマンス問題を考慮して`has_one`を検討するかな、という感じです。