Einzelnen Beitrag anzeigen
  #10  
Alt 23.05.2018, 18:27:23
AlexD AlexD ist offline
Junior Member
 
Registriert seit: Jun 2003
Beiträge: 186
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
Mit Zitat antworten