クエリのパフォーマンスまたは最適化に関して、個別のテーブルとタイプ列には違いがありますか?
例えば:
Create Table AllInOne(
Key Integer Identity Primary Key,
Desc varchar(20) Not Null,
OneType Integer Not Null
)
OneTypeが1、2、または3のみを受け取る場合(整数値)
次のアーキテクチャとの比較:
Create Table One(
Key Integer Identity Primary Key,
Desc varchar(20) Not Null
)
Create Table Two(
Key Integer Identity Primary Key,
Desc varchar(20) Not Null
)
Create Table Three(
Key Integer Identity Primary Key,
Desc varchar(20) Not Null
)
別の可能なアーキテクチャ:
Create Table Root(
Key Integer Identity Primary Key,
Desc varchar(20) Not Null
)
Create Table One(
Key Integer Primary Key references Root
)
Create Table Two(
Key Integer Primary Key references Root
)
Create Table Three(
Key Integer Primary Key references Root
)
3番目の方法では、すべてのデータがルートに設定され、1つ、2つ、および3つのテーブルとの関係になります。
先日先生に聞いたのですが、違いがあるかと答えられませんでした。これらの3つのアプローチから選択する必要があるとしましょう。
一般的に使用されるクエリが型をフィルタリングしていると仮定します。そして、これらを参照する子テーブルはありません。
わかりやすくするために、給与制度について考えてみましょう。
1=着信
2=割引
3=計算のベース。