phpbar.de logo

Mailinglisten-Archive

[php] Zeitraeume

[php] Zeitraeume

Stephan Huber shuber_(at)_analogon.com
Tue, 30 Mar 1999 17:09:32 +0200


Hallo Ralf,

Du koenntest die Tabelle in der Abfrage mit sich selbst verbinden (JOIN),
um die Abfrage nicht zu langsam zu machen, solltest Du aber möglichst
viele Kriterien angeben, um z.B. Termine an verschiedenen Tagen
auszuschliessen, da die Anzahl der Datensaetze, die die
Abfrage untersuchen muß, das Quadrat der urspruenglichen
Anzahl ist.
Ein Beispiel für die Abfrage (ungetestet)
"SELECT termin1.start, termin1.dauer, termin2.start, termin2.dauer FROM
termine as termin1 JOIN termine as termin2 WHERE
(termin1.start+termin1.dauer)>termin2.start AND..."
Außerdem muß man noch die Datensätze ausschließen, die entstehen, wenn
ein Datensatz der ursprünglichen Tabelle mit sich selbst verknüpft
wird (z.B. durch die Vergabe einer ID an die Datensätze, und die WHERE-
Bedingung "termin1.id!=termin2.id")
Zur Zeitmessung: versuch' es mal mit der Funktion "microtime". Beispiel:
In der Seite am Anfang:
$starttime=microtime();
und dann bei jeder Zeitmessung:
echo timediff($starttime);

function timediff($time1)
{
  $time2=microtime();
  $time1=substr($time1,0,strpos($time1," "));
  $time2=substr($time2,0,strpos($time2," "));
  $timediff=($time2-$time1);
  return " Rechenzeit:".$timediff."s ";
}

Gruesse
Stephan




php::bar PHP Wiki   -   Listenarchive