sind meine Tabellen sind, habe ich eine tbl_relation
geschaffen, die data_id
von tbl_data
und tag_id
von tbl_tags
haben. data_id
kann so viele tag_ids
haben.Datenbank in einer zu viele Beziehung Gestaltung
Zum Beispiel im folgenden Fall: John ist mit Essen assoziiert, Apfel, Orange. Linus ist mit Nahrung, Kartoffel verbunden.
Ist dies der richtige Weg in Bezug auf Geschwindigkeit und Speicher? wie meine tbl_tags
und tbl_data
kann mindestens 1 Million Einträge und eine name
in tbl_data kann mit mindestens 5 tag_name
zugeordnet werden.
tbl_tags
+----+--------+
| id | name |
+----+--------+
| 1 | food |
+----+--------+
| 2 | apple |
+----+--------+
| 3 | orange |
+----+--------+
| 4 | potato |
+----+--------+
| 5 | fruit |
+----+--------+
tbl_data
+----+--------+
| id | name |
+----+--------+
| 1 | John |
+----+--------+
| 2 | Linus |
+----+--------+
| 3 | Bill |
+----+--------+
| 4 | Steve |
+----+--------+
| 5 | Dennis |
+----+--------+
tbl_relation
+---------+--------+
| data_id | tag_id |
+---------+--------+
| 1 | 1 |
+---------+--------+
| 1 | 2 |
+---------+--------+
| 1 | 3 |
+---------+--------+
| 2 | 1 |
+---------+--------+
| 2 | 4 |
+---------+--------+
Dies sieht eine kanonische Art der Speicherung Ihrer zwei Arten von Daten und der Beziehungen zwischen ihnen. Die Herausforderung besteht darin, die richtigen Indizes zu erstellen, damit Verknüpfungen effizient durchgeführt werden können. –
+ Ja das ist in der Tat der beste Weg – Milney
Eine 1: viele Beziehung ist am besten mit einer zusätzlichen Spalte in einer der Tabellen, _not_ über eine zusätzliche Tabelle getan. –