私は、パフォーマンスが最優先事項であるWebサイトのデータベースを設計しています。
主な機能は2つのテーブルに基づいています。
そして、これらのテーブルには多対多の関係があります。
これを分割するために、関係ごとに両方のテーブル主キーの組み合わせを保持するテーブルTable1_Table2を追加しました。
たとえば、すべての車が車のテーブルにあり、すべての色がカラーテーブルにあります
CarTable
ID(PK)-名前
1- BMW2-
メルセデス
3
-VW4-アウディ
ColorTable
ID(PK)-色
1-青
2-緑
3-黒
4-黄色
多対多の関係のために、私はこれを行いました:
Car_ColorTable
ID(PK)-CarID-ColorID
1-1 --2
2 --1 --4
3 --2
--4 4
--3 --1 5-4 --1
6-4 --3
7-4-3
これは、次のことを考慮した優れた設計ですか。
1)パフォーマンスが最優先事項です。
2)テーブルには膨大な量のデータが含まれます(両方のテーブルに100万を超えるレコードがあり、Car_ColorTableに最終的にいくつの行が含まれるかを想像できます。
上記の設計が解決策でない場合、これをどのように設計すればよいですか?