AW: mehrere Tabellen über Timestamp abfragen
Die Ausgabe von EXPLAIN mit '*' und Ohne zeigte so gut wie Identische Werte an.
Nur die Abarbeitungszeit bei definierten Spalten ist nur halb so lang aber leider eben immer noch sehr lange.
Extrem wenn ich mehr bzw. den Zeitraum erhöhe wie im Beispiel unten (01.04.2018-14-05.2018).
Geplant wäre ja die Daten eines Jahres auszuwerten um zu Berechnen wie/wenn die Wärmepumpe mit PV-Strom lief usw...
Mit '*'. Zeitraum 01.05.2018-14.05.2018
SELECT hzw.timestamp, hzw.wp_status, sthz.timestamp AS timestamp_strom, sthz.WirkenergieSigmaL_imp, sths.WirkleistungSigmaL
FROM
(SELECT *, CONVERT(DATE_FORMAT(timestamp,'%Y-%m-%d-%H:%i:00'), DATETIME) AS w_timestamp FROM heizung_webdaten WHERE timestamp BETWEEN '2018-05-01' AND '2018-05-14') hzw,
(SELECT * FROM strom_heizungsdaten WHERE timestamp BETWEEN '2018-05-01' AND '2018-05-14') sthz,
(SELECT * FROM strom_hausdaten WHERE timestamp BETWEEN '2018-05-01' AND '2018-05-14') sths
WHERE hzw.wp_status = 12
AND hzw.w_timestamp = CONVERT(DATE_FORMAT(sthz.timestamp,'%Y-%m-%d-%H:%i:00'),DATETIME)
AND hzw.w_timestamp = CONVERT(DATE_FORMAT(sths.timestamp,'%Y-%m-%d-%H:%i:00'),DATETIME)
ORDER BY hzw.w_timestamp
Ergebnis:
Abfrage dauerte: 44 Sek. | 977 Datensätze gefunden
==========================================================
Ohne '*' mit definierten Spalten: Zeitraum 01.05.2018-14.05.2018
SELECT hzw.timestamp, hzw.wp_status, sthz.timestamp AS timestamp_strom, sthz.WirkenergieSigmaL_imp, sths.WirkleistungSigmaL
FROM
(SELECT timestamp, wp_status, CONVERT(DATE_FORMAT(timestamp,'%Y-%m-%d-%H:%i:00'), DATETIME) AS w_timestamp FROM heizung_webdaten WHERE timestamp BETWEEN '2018-05-01' AND '2018-05-14') hzw,
(SELECT timestamp, WirkenergieSigmaL_imp FROM strom_heizungsdaten WHERE timestamp BETWEEN '2018-05-01' AND '2018-05-14') sthz,
(SELECT timestamp, WirkleistungSigmaL FROM strom_hausdaten WHERE timestamp BETWEEN '2018-05-01' AND '2018-05-14') sths
WHERE hzw.wp_status = 12
AND hzw.w_timestamp = CONVERT(DATE_FORMAT(sthz.timestamp,'%Y-%m-%d-%H:%i:00'),DATETIME)
AND hzw.w_timestamp = CONVERT(DATE_FORMAT(sths.timestamp,'%Y-%m-%d-%H:%i:00'),DATETIME)
ORDER BY hzw.w_timestamp
Abfrage dauerte: 23 Sek. | 977 Datensätze gefunden
********************************************************************** ****
Abfragezeitraum 01.04.2018-14.05.2018
Mit definierte Spalten zum Afragen:
SELECT hzw.timestamp, hzw.wp_status, sthz.timestamp AS timestamp_strom, sthz.WirkenergieSigmaL_imp, sths.WirkleistungSigmaL
FROM
(SELECT timestamp, wp_status, CONVERT(DATE_FORMAT(timestamp,'%Y-%m-%d-%H:%i:00'), DATETIME) AS w_timestamp FROM heizung_webdaten WHERE timestamp BETWEEN '2018-04-01' AND '2018-05-14') hzw,
(SELECT timestamp, WirkenergieSigmaL_imp FROM strom_heizungsdaten WHERE timestamp BETWEEN '2018-04-01' AND '2018-05-14') sthz,
(SELECT timestamp, WirkleistungSigmaL FROM strom_hausdaten WHERE timestamp BETWEEN '2018-04-01' AND '2018-05-14') sths
WHERE hzw.wp_status = 12
AND hzw.w_timestamp = CONVERT(DATE_FORMAT(sthz.timestamp,'%Y-%m-%d-%H:%i:00'),DATETIME)
AND hzw.w_timestamp = CONVERT(DATE_FORMAT(sths.timestamp,'%Y-%m-%d-%H:%i:00'),DATETIME)
ORDER BY hzw.w_timestamp
Abfrage dauerte: 298 Sek. | 3851 Datensätze gefunden
----------------------------------------
Mit '*' in den Tabellen
Abfrage dauerte: 519 Sek. | 3851 Datensätze gefunden
|