Michael Keller: Statistik aus MySQL-DB => Geschwindigkeit

Beitrag lesen

Hallo Achim

Wenn Du den Code zu dem Auswertungsscript bereitstellst, könnte man vielleicht mehr dazu sagen.

bisher ist es sehr rudimentär. Ich stelle diese Frage auch im Hinblick auf die Entwicklung einer besseren Auswertung.

Gruss Michael

Hier der Code der bisherigen Auswertung:

<?
// 1. Allgemeine Variablen
$db="xxxstat";
$sdb="xxxdb";
$MySQL_Host="xxx";
$MySQL_User="xxx";
$MySQL_Passw="xxx";

// 2. Datenbank Verbindung
 if (! @$cc=mysql_connect("$MySQL_Host","$MySQL_User","$MySQL_Passw")) {
    echo "Die Verbindung zu ",$MySQL_Host," konnte nicht hergestellt werden<br>";
    exit;
 }

// 3. Allgemeine Funktionen
function send_sql($db, $sql) {
    if (! $res=mysql_db_query($db, $sql)) {
    echo mysql_error();
    exit;
    }
    return $res;
}

// 4. Statistik Funktionen

// 4.1 verschiedene Besucher
function verschbes ($anfdatum,$enddatum) {
global $db;
$sql="SELECT id,session_id from daten where time>=$anfdatum and time<=$enddatum group by session_id";
$res=send_sql($db,$sql);
$verschbes=mysql_num_rows($res);
return $verschbes;
}

// 4.2 Einzelne Seiten ($p)
function einzseiten ($anfdatum,$enddatum,$p) {
global $db;
$sql="SELECT id from daten where time>=$anfdatum and time<=$enddatum and var_p='$p'";
$res=send_sql($db,$sql);
$einzseiten=mysql_num_rows($res);
return $einzseiten;
}

// 5. Hauptscript
echo "<html><head><title>Statistiken für www.ksoe-sphere.ch</title></head><body bgcolor='White'>";
echo "<h2>Statistiken für www.ksoe-sphere.ch</h2>";
$verschbes=verschbes("0","99999999999999999999");
$gesammtbes=$verschbes;
echo "<h3>Verschiedene Besucher:</h3>";
echo "<p>Gesammtanzahl verschiedener Besucher: $gesammtbes<br>";
flush();
$now=date(U);
$h=date(G);
$min=date(i);
$s=date(s);
$mon=date(j);
$monat=$now-($h*3600)-($min*60)-$s-($mon*24*3600)+(24*3600);
$verschbes=verschbes("$monat","99999999999999999999");
$monatbes=$verschbes;
$akmontags=$monatbes/$mon;
$akmontags=number_format($akmontags,"2",".","'");
echo "Davon in diesem Monat: $monatbes (Tagesdurchschnitt: $akmontags)<br>";
flush();
$now=date(U);
$h=date(G);
$min=date(i);
$s=date(s);
$heute=$now-($h*3600)-($min*60)-$s;
$verschbes=verschbes($heute,"99999999999999999999");
$tagbes=$verschbes;
flush();
echo "Davon heute: $tagbes</p>";
flush();
echo "<h3>Einzelne Seiten</h3>";
echo "<p>Anzahl Aufrufe von:<br>";
$b1=einzseiten ("0","99999999999999999999","root");
$b2=einzseiten ("0","99999999999999999999","");
$btot=$b1+$b2;
echo "root: $btot<br>";
flush();
echo "news: ".einzseiten ("0","99999999999999999999","news")."<br>";
flush();
echo "kolumne: ".einzseiten ("0","99999999999999999999","kolumne")."<br>";
flush();
echo "agenda: ".einzseiten ("0","99999999999999999999","agenda")."<br>";
flush();
echo "cards: ".einzseiten ("0","99999999999999999999","cards")."<br>";
flush();
$a1=einzseiten ("0","99999999999999999999","forum");
flush();
$a2=einzseiten ("0","99999999999999999999","forumdisplay");
flush();
$a3=einzseiten ("0","99999999999999999999","threaddisplay");
flush();
$a4=einzseiten ("0","99999999999999999999","neu");
$atot=$a1+$a2+$a3+$a4;
echo "forum: $atot<br>";
flush();
echo "pastevents: ".einzseiten ("0","99999999999999999999","pastevents")."<br>";
flush();
echo "gallery: ".einzseiten ("0","99999999999999999999","gallery")."<br>";
flush();
echo "anmeldung: ".einzseiten ("0","99999999999999999999","anmeldung")."<br>";
flush();
echo "editdata: ".einzseiten ("0","99999999999999999999","editdata")."<br>";
flush();
echo "passchange: ".einzseiten ("0","99999999999999999999","passchange")."<br>";
flush();
echo "pass_reminder: ".einzseiten ("0","99999999999999999999","pass_reminder")."<br>";
flush();
echo "logout: ".einzseiten ("0","99999999999999999999","logout")."<br>";
flush();
echo "huusfaescht: ".einzseiten ("0","99999999999999999999","huusfaescht")."<br>";
flush();
echo "impressum: ".einzseiten ("0","99999999999999999999","impressum")."<br>";
flush();
echo "vote: ".einzseiten ("0","99999999999999999999","vote")."<br>";
flush();
echo "gruesse: ".einzseiten ("0","99999999999999999999","gruesse")."<br>";
flush();
echo "special: ".einzseiten ("0","99999999999999999999","special")."<br>";

echo "</body></html>";
?>