Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Datenbankdesign:Mehrere Tabellen im Vergleich zu einer einzelnen Tabelle

Es scheint, dass Sie die Antwort bereits kennen, aber denken Sie daran, dass die Systeme, die Sie entwerfen, einfach zu ändern sind, da sich Geschäftsmodelle im Laufe der Zeit immer ändern oder schließlich scheitern (es ist eine Verallgemeinerung, aber Sie verstehen die Idee). Eine logische Folge davon ist, dass wenn Sie ein starres Modell erstellen, schnell oder langsam, es starr ist, Änderungen schwieriger sind und der Endbenutzer den Unterschied nicht sehen wird, daher wird keine Geld-/Zufriedenheitsänderung erzielt, es sei denn, es handelt sich um eine sehr schlechte Änderung. Ihr Problem ist nicht technisch in der Art, wie eine Abfrage auf der Engine funktioniert, sondern eher philosophisch, einfache Änderungen im Vergleich zu scheinbarer Geschwindigkeit. Fragen Sie sich, was der Vorteil einer normalisierten Datenbank ist? Denken Sie an eine saubere Architektur und ein sauberes Design, die Leistung ist in der heutigen Welt das geringste Problem, da die Verarbeitung und die Speicherung billiger sind. Aber Design ist teuer. Die Normalisierung wurde vorgenommen, um Systeme zu erstellen, die nicht von Entscheidungen im letzten Moment abhängen, sondern von einem strukturierten Designprozess. Es geht nicht nur darum, eine weitere Spalte hinzuzufügen, sondern um die starre Struktur der Daten selbst. Irgendwann werden Sie einfach Spalten hinzufügen, die Indizes enthalten, und diese Indizes werden auf kleine Tabellen verweisen. MySql wird sowieso all diese Daten durchpflügen. Also werde ich mich für die erste entscheiden, viele kleine Tabellen, Many-to-Many.