Hallo!
Die Subquery
(SELECT SUBDATE(MAX(time), INTERVAL 15 MINUTE) AS c_time,
messpunkt AS m2 FROM messungen) AS r_t
sieht so aus als wolltest Du max(time)-15m PRO MESSPUNKT ermitteln; das tut sie aber nicht, sondern sie ermittelt max(time)-15m auf der ganzen Tabelle!
Die Subquery bringt also nicht viel aber JOINed eine grosse Tabelle mit sich selbst.
(MySQL 6.0.5 meckerte die Syntax an; deshalb hab ich "AS m2" ergänzt.)
---
Wichtig wäre es mal die Datentypen und Indices zu betrachten:
- Typ von messpunkt? Indiziert?
- Typ von data? Ist das ein Blob? Falls ja, wie groß im Mittel?
Insgesamt wäre natürlich das Mengengerüst wichtig:
- Aktuelle Zahl der Datensätze?
- Anzahl der Messpunkte?
Grüsse
Solkar