Muschelpuster
Benutzer
- Beiträge
- 22
Moin zusammen,
ich möchte eine Prozedur bauen, welche mit Select Daten aus einer Tabelle einliest und diese in einem 2. Statement verwendet.
Hintergrund: Ich bekomme Daten mit einer Start- und einer Endzeit im Unix-Format. Diese schreibe ich in eine Tabelle und die Start- und Endzeit nochmal gesondert in eine 2. Tabelle. Nun konnte ich bereits mit der freundlichen Unterstützung hier ein schönes Statement bauen mit dem ich die Zeitreihe aus der 2. Tabelle lesen und in der 1. Tabelle zähle wie viele Datensätze jetzt in diesem Zeitraum liegen. Das funktioniert perfekt, jedoch geht das mit zunehmender Zahl von Datensätzen bzw. längeren Auswertezeiträumen mächtig auf die Performance. Daher will ich jetzt eine 3. Tabelle mit Schnellsummen erstellen, welche über die Prozedur gefüllt wird. Dazu soll diese immer bei einem neuen Datensatz getriggert werden und Schnellsummen zu dem neuen Messpunkt erzeugen.
Hier gibt es jedoch eine kleine Ungenauigkeit: Wenn nach Datensatz A ein weiterer Datensatz folgt, welcher eine Startzeit vor der Endzeit von A hat, so stimmt die zuvor ermittelte Schnellsumme nicht mehr. Daher soll die Prozedur alle Schnellsummen aktualisieren, welche einen Zeitstempel größer der Startzeit haben. Also müsste ich da ein Select auf meine Zeitreihe machen in der ich eine Menge von Zeitstempeln zurück bekomme, die nun in einer schleife neu berechnet werden müssen.
Ist das überhaupt mit MariaDB möglich?
Niels
ich möchte eine Prozedur bauen, welche mit Select Daten aus einer Tabelle einliest und diese in einem 2. Statement verwendet.
Hintergrund: Ich bekomme Daten mit einer Start- und einer Endzeit im Unix-Format. Diese schreibe ich in eine Tabelle und die Start- und Endzeit nochmal gesondert in eine 2. Tabelle. Nun konnte ich bereits mit der freundlichen Unterstützung hier ein schönes Statement bauen mit dem ich die Zeitreihe aus der 2. Tabelle lesen und in der 1. Tabelle zähle wie viele Datensätze jetzt in diesem Zeitraum liegen. Das funktioniert perfekt, jedoch geht das mit zunehmender Zahl von Datensätzen bzw. längeren Auswertezeiträumen mächtig auf die Performance. Daher will ich jetzt eine 3. Tabelle mit Schnellsummen erstellen, welche über die Prozedur gefüllt wird. Dazu soll diese immer bei einem neuen Datensatz getriggert werden und Schnellsummen zu dem neuen Messpunkt erzeugen.
Hier gibt es jedoch eine kleine Ungenauigkeit: Wenn nach Datensatz A ein weiterer Datensatz folgt, welcher eine Startzeit vor der Endzeit von A hat, so stimmt die zuvor ermittelte Schnellsumme nicht mehr. Daher soll die Prozedur alle Schnellsummen aktualisieren, welche einen Zeitstempel größer der Startzeit haben. Also müsste ich da ein Select auf meine Zeitreihe machen in der ich eine Menge von Zeitstempeln zurück bekomme, die nun in einer schleife neu berechnet werden müssen.
Ist das überhaupt mit MariaDB möglich?
Niels