たとえば、100.000 人のユーザーがいる出会い系サイトを考えてみましょう。各ユーザーには、髪の色、喫煙、年齢、都市、性別など、約 30 の属性があります。一部の属性には bool、一部の int、一部の var または text があります。
これらの属性のうち約 20 が検索可能で、半分のユーザーはデータを入力しません。すべての値は、ユーザー プロファイル ページに表示されます。
以下の選択肢を考えていました。
- データを 4 つのテーブルに分割します。表 1 は主に検索されるデータに使用され、表 2 はほとんど入力されていない属性に使用され、表 3 は私のような大きなデータに使用され、表 4 の残りの部分には使用されます。
- ほとんどの属性について個別のテーブルであるため、各属性には独自のテーブルがあります。
- EAVモデルを使用。
最初のオプションが最適だと思います。それとも他に良い方法はありますか?