2016-06-24 8 views
-3

Ich weiß, dass dies der falsche Weg ist, aber ich habe eine Datenbank mit Statistiken über Fahrzeuge, die aus Excel-Dateien importiert werden.PHP & MySQL: Gut/effizient, um Statistiken aus Tausenden von Zeilen auf jeder Seite anzuzeigen load

Für jedes Fahrzeug (etwa 100 derzeit, aktualisiert alle drei Tage) habe ich von 500 bis 2000 Zeilen von Daten, die verwendet wird, um Grafiken in Bezug auf Kraftstoffverbrauch, Strecke etc. zu erstellen. Dies ist ziemlich einfach und es dauert von 1 bis 3 Sekunden zum laden, aber ich brauche auch die gesamten Statistiken und vergleiche es mit jedem Auto.

Also, wenn ich das Diagramm für Auto ID 1 erstellen, möchte ich den Unterschied zwischen seinem Kraftstoffverbrauch und dem globalen Kraftstoffverbrauch (aller vorhandenen Autos) sehen.

Gibt es eine Möglichkeit, dies zu tun, ohne nicht nur das einzelne Auto, sondern auch alle Autos auf jeder Seitenladung abzufragen?

Danke

+0

Ich sehe nicht, wie das hilft –

Antwort

1

Es klingt wie Sie Ihre Statistiken in einer Übersichtstabelle vorab zusammenstellen müssen. Schreibe eine Funktion, die 1 Fahrzeug als Parameter akzeptiert, kompiliere alle deine Statistiken und speichere sie in einer speziellen Übersichtstabelle. Schreiben Sie dann ein Hintergrundskript, das diese Funktion nacheinander für alle Fahrzeuge aufruft. Sie können das Hintergrundskript so oft aufrufen, wie Sie das Gefühl haben, dass die Statistiken aktualisiert werden müssen, so dass die Webschnittstelle frei bleibt, um sehr wenig Computing/io zu machen.

Diese Art von Sache hat mich im Laufe der Jahre ziemlich große Kopfschmerzen gerettet.

+0

Danke, ich dachte darüber nach und vielleicht ist es die beste Lösung, der einzige Nachteil ist, dass ich diese Seite jeden Tag persönlich besuchen müsste, weil ich den Kunden nicht will Mach es und warte jedes Mal. Er besteht darauf, dass er "schnelle" Statistiken braucht. –

+0

Ich würde keine Seite laden, um die Übersichtstabelle zu kompilieren. Das soll der Hintergrundjob tun. –

+0

@ C.Ovidiu - was hält Sie davon ab, Ereignisse oder Trigger zu verwenden, um Berechnungen durchzuführen und eine einfache Übersichtstabelle zu aktualisieren? Warum sollte irgendjemand etwas besuchen müssen, damit sein RDBMS seine Arbeit für sie erledigen kann? Es ist nicht mehr 1999, im Jahr 2016 gibt es Ereignisse, Trigger, gespeicherte Prozeduren. Verdammt, Sie können sogar Systembefehle aufrufen, wenn Sie möchten. –

Verwandte Themen