私はAを定義する多くのフィールドを持っているテーブルAを持っているだけでなく、常にそうとは限らないものを定義する多くのフィールドも持っています。私はこのエンティティを2つに分割することを考えています:Aに関連するフィールドだけを含む縮小Aエンティティと、「Bの形式をとる」ときにAに関連するフィールドをコインにするBエンティティ。1対1の関係を作成する価値はありますか?
(「A」は「Mission」と呼ばれるテーブル、「B」はMonsterというテーブルです)私のドメインでは、ミッションは多くのことになることがあり、時にはモンスターです。モンスターを定義する多くのフィールドがありますので、元のミッションテーブルは巨大です)。
つまり、私はこのMonsterテーブルを作成すべきかどうかは自分自身を議論しています。私はかなり大きなミッション・テーブルを受け入れるべきですか、それとも1対1の関係を作り出すべきでしょうか?結合はかなり頻繁に実行され、私はこれについて少し心配しています。
ありがとうございます。
私は3つのテーブル(ない2)のために行くだろう
「ミッション」を読み込むたびに「モンスター」が必要な場合は、別のテーブルと必要な結合が意味をなさない可能性があります。しかし、パフォーマンスに関しては、唯一の真実は測定から来ます。シナリオごとにスキーマを作成し、予想されるデータ量を入力し、最も一般的なユースケースをテストします。 –
テーブルAとテーブルBの後に同じ数のカラムがある場合は、メモリスペースを節約せず、結合の複雑さを追加するだけです。パフォーマンスが重要な場合は、おそらくその結合を避けるようにしてください。また、1つのテーブルの実際の不利益がどのようなものになるか、自分自身に尋ねてください。 coulmnsの数はほとんど私が推測する引数です。 – molig
答えをありがとう。私はそれがそうでなければ私はそれがそのままテーブルを残す必要があるときに私はモンスターを隔離することができる場合、私は勉強します。 –