SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Websites optimieren für Google & Co.

Websites optimieren für Google & Co. zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 11.03.2009, 13:35:44
geardown geardown ist offline
Anfänger
 
Registriert seit: Mar 2009
Alter: 46
Beiträge: 2
Ereignisse innerhalb mehrer Zeitintervalle zählen

Hallo,

als MySQL Anfänger stehe ich vor einem erheblichen Performanceproblem, bei welchem ich nicht wirklich weiter komme.

Ich habe eine Tabelle in welcher eine Vielzahl (>1 Mio) von Ereignissen eingetragen sind. Jedem Ereignis ist über ein DATETIME Feld sowohl ein Datum als auch die Uhrzeit des Ereigniszeitpunkts zugeordnet.

Nun soll herausgefunden werden, wie viele Ereignisse innerhalb eines bestimmten Zeitraums aufgetreten sind. Die Zählung erfolgt dabei über eine rollierende Stunde in 5min Schritten über mehrere Monate.

Beispiel:

Ereignis Datum / Uhrzeit
1 01.12.2007 / 06:02:14
2 01.12.2007 / 06:06:00
3 01.12.2007 / 07:09:00
4 01.12.2007 / 07:09:40

D.h. im Zeitraum 01.12.2007 von 06:00 bis 07:00 fanden 2 Ereignisse statt. Von 06:05 bis 07:05 1. Von 06:10 bis 07:10 3 Ereignisse.

Mometan habe ich eine zweite Tabelle erstellt, in welcher die rollendenden Stunden als Anfangswert und Endwert eingetragen werden und lasse meine Datentabelle mit der rollierenden Stunden Tabelle vergleichen.

Der Code schaut so aus:
DELIMITER $$

DROP PROCEDURE IF EXISTS `test'.`rollende_stunde` $$
CREATE DEFINER=`via`@`%` PROCEDURE `rollende_stunde`()
BEGIN
DECLARE v1 INT DEFAULT 1;
WHILE v1 <= 16000 DO
INSERT INTO ausgabe_2 (kunde)
SELECT COUNT(*)
FROM mit_part
WHERE Kunde= 'm' AND Zeit BETWEEN (SELECT min_Wert FROM klasse WHERE Klasse=v1) AND (SELECT max_Wert FROM klasse WHERE Klasse=v1);
SET v1 = v1 + 1;
END WHILE;
END $$

DELIMITER ;

Dei Sache ist leider sehr langsam, da die gesamte Tabelle mehrfach durchsucht wird bevor der Query mit +1 eine Stufe weiter springt.

Über Hilfe wäre ich sehr dankbar.

Geändert von geardown (11.03.2009 um 13:45:03 Uhr)
Mit Zitat antworten
  #2  
Alt 11.03.2009, 13:44:32
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: Ereignisse innerhalb mehrer Zeitintervalle zählen

Willkommen im Forum!

Und welche Frage(n) bewegt(en) Dich? Was hast Du schon unternommen um Deine Frage(n) zu klären? Gibt es Fehlermeldungen? Wie sieht Dein Code aus?
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #3  
Alt 11.03.2009, 13:46:23
geardown geardown ist offline
Anfänger
 
Registriert seit: Mar 2009
Alter: 46
Beiträge: 2
AW: Ereignisse innerhalb mehrer Zeitintervalle zählen

Sorry bin bei der Eingabe der Frage auf den "Absenden" Knopf gekommen, dadurch war das Problem noch nicht komplett beschrieben, bevor es im Netz stand. :-(
Jetzt sollte es hoffentlich verständlich sein.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:28:18 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt