Wir haben eine SaaS-Lösung, bei der jeder Mieter über eine eigene MySQL-Datenbank verfügt. Jetzt entwerfe ich ein Dashboard für dieses SaaS-System und es erfordert einige analytische Diagramme. Um die für das Diagramm benötigten Daten zu erhalten, können wir die Transaktionsdaten jedes Mieters in Echtzeit aus seiner Datenbank abfragen. und erhalten Sie aktualisierte Diagramme ohne Leistungseinbußen, da das Datenvolumen bisher nicht so groß ist. Da das Datenvolumen jedoch weiter wachsen wird, haben wir uns entschieden, die Analysedaten und Transaktionsdaten für jedes Unternehmen zu trennen. Wir werden die Analysedaten der Diagramme im Hintergrund abrufen, speichern/zwischenspeichern und regelmäßig aktualisieren. Meine Frage ist:
不要进入“事实”表中的数百万行,而是构建并维护一个汇总表,然后从中获取数据。它的运行速度可能是原来的 10 倍。
由于额外的表,这确实需要更改代码,但这可能是值得的。
汇总表
换句话说,如果数据集变得大于X,汇总表是最好的解决方案。缓存不会有帮助。硬件还不够。 JSON 只会造成妨碍。
根据一年的数据点(每秒一个)构建一年的图表既缓慢又浪费。根据每日小计构建一年的图表要合理得多。