Hallo zusammen,
ich habe einen Query, der ca. 10 Zeilen innerhalb von ca. 3 Sekunden ermittelt. Wenn ich darauf 2 Werte in jeder Zeile vergleiche, benötigt der Query 5 Stunden.
Hier der Query:
Das ist der "komplizierte" Query-Teil, der nur 3 Sekunden benötigt.
Ein Vergleich darauf von zwei Werten führt zu dieser unglaublichen Laufzeitveränderung.
Den Query starte ich auf einer MariaDB 10.5.15.
Hat jemand eine Erklärung für mich? Aktuell löse ich es über eine simple Aufteilung.
Danke!
VG
Robert
ich habe einen Query, der ca. 10 Zeilen innerhalb von ca. 3 Sekunden ermittelt. Wenn ich darauf 2 Werte in jeder Zeile vergleiche, benötigt der Query 5 Stunden.
Hier der Query:
SQL:
select *
from (
select s.Zeitpunkt_GMT as Zeitpunk, s.Wert, v.Verbrauch, (select sum(Verbrauch) from haus.Strom_Verbrauch where Zeitpunkt_GMT <= Zeitpunk) as Stromverbrauch
from haus.strom as s, haus.Strom_Verbrauch as v
where s.OBIS = '1-0:1.8.0*255' and s.Zeitpunkt > now() - interval 1 hour and s.Zeitpunkt_GMT = v.Zeitpunkt_GMT
order by s.Zeitpunkt_GMT desc
) as a
where Wert <> Stromverbrauch"
Das ist der "komplizierte" Query-Teil, der nur 3 Sekunden benötigt.
SQL:
select s.Zeitpunkt_GMT as Zeitpunk, s.Wert, v.Verbrauch, (select sum(Verbrauch) from haus.Strom_Verbrauch where Zeitpunkt_GMT <= Zeitpunk) as Stromverbrauch
from haus.strom as s, haus.Strom_Verbrauch as v
where s.OBIS = '1-0:1.8.0*255' and s.Zeitpunkt > now() - interval 1 hour and s.Zeitpunkt_GMT = v.Zeitpunkt_GMT
order by s.Zeitpunkt_GMT desc
Ein Vergleich darauf von zwei Werten führt zu dieser unglaublichen Laufzeitveränderung.
Den Query starte ich auf einer MariaDB 10.5.15.
Hat jemand eine Erklärung für mich? Aktuell löse ich es über eine simple Aufteilung.
Danke!
VG
Robert