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

mysql - Erstellen von Zeilen vs. Spaltenleistung

Ich denke, der Vorteil des Speicherns als mehr Zeilen (d. h. normalisiert) hängt von Design- und Wartungsüberlegungen angesichts von Änderungen ab.

Auch, ob die 140 Spalten die gleiche Bedeutung haben oder sich pro Experiment unterscheiden – die Daten entsprechend den Normalisierungsregeln richtig modellieren – d. h. in welcher Beziehung stehen die Daten zu einem Kandidatenschlüssel.

Wenn alle Spalten verwendet werden, macht es in Bezug auf die Leistung kaum einen Unterschied. Manchmal kann ein Pivot/Unpivot-Vorgang bei einer großen Datenmenge teuer sein, aber bei einem Zugriffsmuster mit einem einzigen Schlüssel macht es kaum einen Unterschied. Manchmal kann ein Pivot in der Datenbank Ihren Frontend-Code viel einfacher und den Backend-Code angesichts von Änderungen flexibler machen.

Wenn Sie viele NULL-Werte haben, ist es möglicherweise möglich, Zeilen in einem normalisierten Design zu eliminieren, was Platz sparen würde. Ich weiß nicht, ob MySQL ein Sparse-Table-Konzept unterstützt, das dort ins Spiel kommen könnte.