[vz-dev] SQL Abfrage aktueller Verbrauch sehr langsam

2013-09-14 Diskussionsfäden Sven peitz

Hallo,

für mein neues Verbrauchs oder Vergleichsanzeige Projekt der aktuellen 
PV Einspeisung und Bezug vom EVU frage ich in einem PHP script die 
Volkszähler Datenbank ab.


include './config.php';
$link=mysql_connect($DBHost,$DBUser,$DBPass);
mysql_select_db($DB);

$result1=mysql_query(SELECT value FROM data WHERE id = (select max(id) 
FROM data WHERE channel_id LIKE  '14'));

while ($daten=mysql_fetch_array($result1))
{
  $aktuellerStromverbrauch=$daten['value'];
}
  $aktuellerStromverbrauch = number_format($aktuellerStromverbrauch, 0, 
'.', '');



Diese Anfrage dauert ca. 6-7 Sekunden. Hat jemand eine Idee wie man 
dieses beschleunigen kann?


Gruß
Sven



Re: [vz-dev] SQL Abfrage aktueller Verbrauch sehr langsam

2013-09-14 Diskussionsfäden Thorben Thuermer
On Sat, 14 Sep 2013 11:07:20 +0200
Sven peitz sven.pe...@gmx.net wrote:
 für mein neues Verbrauchs oder Vergleichsanzeige Projekt der aktuellen 
 PV Einspeisung und Bezug vom EVU frage ich in einem PHP script die 
 Volkszähler Datenbank ab.
[...]
 $result1=mysql_query(SELECT value FROM data WHERE id = (select max(id) 
 FROM data WHERE channel_id LIKE  '14'));

auch zu beachten,
was genau in data.value steht ist vom channel-type abhaengig...
diese loesung funktioniert nur, wenn leistungswerte geloggt werden.

 Diese Anfrage dauert ca. 6-7 Sekunden. Hat jemand eine Idee wie man 
 dieses beschleunigen kann?

die anfrage ohne subquery formulieren?
(subqueries sind fuer nicht sql-er zwar oft intuitiver,
 aber meist nicht effizient.)

select value where channel order by id desc limit 1

 Gruß
 Sven

- Thorben


Re: [vz-dev] SQL Abfrage aktueller Verbrauch sehr langsam

2013-09-14 Diskussionsfäden Florian Knodt
Auch kann es helfen ein explain vor den SQL-Befehl zu setzen und sich die 
Analyse anzusehen - da sieht man recht schnell ob Teile ohne Index ablaufen, 
was meist in langsamen Abfragen endet. 
--
Mit freundlichen Grüßen  ||  Sincerely yours
Florian Knodt ·· Im Teich 11 ·· 56648 Saffig
www.adlerweb.info · www.56648.de · @adlerweb

Re: [vz-dev] SQL Abfrage aktueller Verbrauch sehr langsam

2013-09-14 Diskussionsfäden Andreas Goetz
Ich hatte ähnliche Probleme- Grund dabei war allerdings 1s Connect Time für
MySQL. Warum gehst Du für die Abfragen eigentlich nicht über die
Middleware? Dann klappts auch für alle Sensortypen!

vg
Andreas


2013/9/14 Florian Knodt f.kn...@yotaweb.de

 Auch kann es helfen ein explain vor den SQL-Befehl zu setzen und sich die
 Analyse anzusehen - da sieht man recht schnell ob Teile ohne Index
 ablaufen, was meist in langsamen Abfragen endet.
 --
 Mit freundlichen Grüßen  ||  Sincerely yours
 Florian Knodt ·· Im Teich 11 ·· 56648 Saffig
 www.adlerweb.info · www.56648.de · @adlerweb