おそらく多くのNULL列を持つ1つのテーブルを持つ価値がある場合、またはNULLを持たないテーブルを増やす方が良い場合は、 (INNODBエンジンを搭載したMYSQL DB)1つのテーブルに多くのNULLカラムを使用するか、NULLを持たないテーブルを使用しますか?
たとえば:私は、分類された広告のすべての一般的なものを格納するヘッダーテーブルを持っています。タイトル、説明等...それはあなたが属性を含める必要が仕事の広告がある場合、それはあなたがそのような燃料の種類、透過型などのような特別な属性を含める必要が自動車の広告がある場合は今
..
のような
これで、ジョブ属性と車両属性を格納する別の2つのテーブルを持つヘッダーテーブルを1つ使用するか、すべてヘッダーテーブルにインクルードします。したがって、ジョブ広告媒体の列の場合、NULL値が保持されます。
これらの無効な列は、一部のクエリで使用されることに注意してください。だから私もそれらのインデックスを作成する必要があります。
これは奇妙な質問です。格納するアドレスがあるとしましょう。アドレステーブルが必要な場合があります。しかし、住所の一部は不明であるか、または適用されないかもしれません。例えば、オプションの会社名、オプションのポストボックス番号などです。 address_without_company_and_postboxテーブルと、company_name_for_addressテーブルとpostbox_for_addressテーブルをNULLにすることができるので、これを本当に頼んでいるのですか?これは意味をなさないと思われます。 –
この質問は、テーブルに入る可能性のあるデータと、なぜNULL列がたくさんあるのかを記述した方が良いでしょう。 – mendosi
私が追加したEAVタグを見てください。 –