mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-02-28 02:44:53 +00:00
93_DbLog.pm: MySQL: neue Definition eines Indices auf history zur schnelleren
Generierung von Plots, SQL darauf angepasst git-svn-id: https://svn.fhem.de/fhem/trunk@2614 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
a53babcb84
commit
618987d581
@ -556,6 +556,8 @@ DbLog_Get($@)
|
||||
FROM history
|
||||
WHERE 1=1
|
||||
AND $sqlspec{reading_clause} = ('".$readings[$i]->[0]."|".$readings[$i]->[1]."')
|
||||
AND DEVICE = '".$readings[$i]->[0]."'
|
||||
AND READING = '".$readings[$i]->[1]."'
|
||||
AND TIMESTAMP > $sqlspec{from_timestamp}
|
||||
AND TIMESTAMP < $sqlspec{to_timestamp}
|
||||
ORDER BY TIMESTAMP";
|
||||
@ -582,7 +584,7 @@ DbLog_Get($@)
|
||||
my $val = $sql_value;
|
||||
eval("$readings[$i]->[4]");
|
||||
$sql_value = $val;
|
||||
if($@) {Log 3, "DbLog: Fehler in der übergebenen Funktion: <".$readings[$i]->[4].">, Fehler: $@";}
|
||||
if($@) {Log 3, "DbLog: Error in inline function: <".$readings[$i]->[4].">, Fehler: $@";}
|
||||
$out_tstamp = $sql_timestamp;
|
||||
$writeout=1;
|
||||
}
|
||||
@ -595,7 +597,7 @@ DbLog_Get($@)
|
||||
$writeout=1;
|
||||
|
||||
} elsif ($readings[$i]->[3] && $readings[$i]->[3] =~ m/^int(\d+).*/o) {
|
||||
#?bernehme den Dezimalwert mit den angegebenen Stellen an Nachkommastellen
|
||||
#Übernehme den Dezimalwert mit den angegebenen Stellen an Nachkommastellen
|
||||
$out_value = $1 if($sql_value =~ m/^([-\.\d]+).*/o);
|
||||
$out_tstamp = $sql_timestamp;
|
||||
$writeout=1;
|
||||
@ -869,8 +871,8 @@ DbLog_Get($@)
|
||||
<a name="DbLogattr"></a>
|
||||
<b>Attributes</b> <ul>N/A</ul><br>
|
||||
</ul>
|
||||
=end html
|
||||
|
||||
=end html
|
||||
=begin html_DE
|
||||
|
||||
<a name="DbLog"></a>
|
||||
@ -1032,6 +1034,7 @@ DbLog_Get($@)
|
||||
<a name="DbLogattr"></a>
|
||||
<b>Attributes</b> <ul>N/A</ul><br>
|
||||
</ul>
|
||||
|
||||
=end html_DE
|
||||
=cut
|
||||
|
||||
|
@ -3,5 +3,5 @@ CREATE USER 'fhemuser'@'%' IDENTIFIED BY 'fhempassword';
|
||||
CREATE TABLE history (TIMESTAMP TIMESTAMP, DEVICE varchar(32), TYPE varchar(32), EVENT varchar(64), READING varchar(32), VALUE varchar(32), UNIT varchar(32));
|
||||
CREATE TABLE current (TIMESTAMP TIMESTAMP, DEVICE varchar(32), TYPE varchar(32), EVENT varchar(64), READING varchar(32), VALUE varchar(32), UNIT varchar(32));
|
||||
GRANT SELECT, INSERT, DELETE ON `fhem` .* TO 'fhemuser'@'%';
|
||||
|
||||
CREATE INDEX Search_Idx ON history (DEVICE, READING, TIMESTAMP);
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
--
|
||||
|
||||
SET statement_timeout = 0;
|
||||
SET client_encoding = 'SQL_ASCII';
|
||||
SET client_encoding = 'UTF8';
|
||||
SET standard_conforming_strings = off;
|
||||
SET check_function_bodies = false;
|
||||
SET client_min_messages = warning;
|
||||
@ -69,7 +69,7 @@ ALTER TABLE fhem.history OWNER TO fhem;
|
||||
-- Name: reading; Type: INDEX; Schema: fhem; Owner: fhem; Tablespace:
|
||||
--
|
||||
|
||||
CREATE INDEX reading ON history USING btree (((((device)::text || '|'::text) || (reading)::text)), "timestamp");
|
||||
CREATE INDEX search_Idx ON history USING btree (((((device)::text || '|'::text) || (reading)::text)), "timestamp");
|
||||
|
||||
|
||||
--
|
||||
|
Loading…
x
Reference in New Issue
Block a user