を使用してsql-server-2008-R2
います。3 種類のデータを含むテーブルがあり、それらの型は別のテーブルにあります。
T = テーブル、F = フィールド、FK = 外部キー、PK = 主キー
T1: F1(PK), F2(TypeID), F3, F4, F5, F6, F7
T2: F1(TypeID, PK), F2(TypeName)
4 番目のタイプを追加したいのですが、このタイプには追加のプロパティ (TypeRate など) があります。
私の T1 テーブルには、プロジェクト開始の最初の週に少なくとも 300 万のレコードがあり、その後、1 か月あたり約 300 万のレコードにまで遅くなります。
ここで、以下にリストされている方法の中でどの方法が最適かを知りたいです。
A. メイン テーブル (T1) にフィールドを追加します。
T1: F1(PK), F2(TypeID), F3, F4, F5, F6, F7, F8(TypeRate)
F8 はほとんどの場合 (他のタイプのレコードの場合) null になりますが、テーブルは 1 つだけです。
B. T1 が持つすべてのフィールド (T3) を含む別のテーブルをまったく追加します。
T3: F1(PK), F2(TypeID), F3, F4, F5, F6, F7, F8
ほとんどの場合、T1 が null 値を持たないようにしますが、ほぼ同じ 2 つのテーブルを作成します。
C. 説明テーブルを追加します (T4) :
T4: F1(PK), F2(FK:T1.PK), F3(TypeRate)
T1テーブルにnull値がないように、4番目のタイプのレコードの場合、追加データはT4(説明テーブル)にあります