Hallo
Ich habe eine DB mit 700 Einträgen. Aus dieser wird mit ca. 75 Einträgen die unten aufgeführten Berechnungen von vier Ranglisten berechnet. Dies dauert immer ca 7 sek. und das kommt mir etwas lang vor.
Ich wäre für Optimierungstipps sehr dankbar.
Gruß
Spencer
###### ---- Berechnnung der Ränge nach Nettozeit #############
get "rennen==$r1&s==205", "strecken";
get "rennen==$r1 sort=-fahrt,zeit", "205","holen";
$t1 = $_amount_query;
while(get_next("holen"))
{
$rang_1 = ++$rang_1;
$Platz1 = $rang_1 if($zeit ne $puffer);
$puffer=$zeit;
if ($fahrt > 0)
{
$laenge_ges1 = $versuch*$laenge;
mod "Id==$_id&rennen==$r1", ["platzalt_zeit", $platz_zeit, "platz_zeit", $Platz1, "laenge_ges", $laenge_ges1, "neu", ""], "205";
}
else
{
$laenge_ges1 = 0;
mod "Id==$_id&rennen==1", ["platzalt_zeit", $platz_zeit, "platz_zeit", $Platz1, "laenge_ges", $laenge_ges1, "neu", ""], "205";
}
}
####### ----- Berechnung Gesamtzeit ####
undef(%_get);
get "rennen==$r1&s==205", "strecken";
get "rennen==$r1 sort=-fahrt,zeit_ges", "205","holen";
$t1 = $_amount_query;
while(get_next("holen"))
{
$rangges = ++$rangges;
$Platzges = $rangges if($zeit_ges ne $puffer);
$puffer=$zeit_ges;
mod "Id==$_id&rennen==$r1", ["platzalt", $platz, "platz", $Platzges], "205";
}
####### ----- Berechnung Bergwertung ####
undef(%_get);
get "rennen==$r1&s==205", "strecken";
get "rennen==$r1 sort=-fahrt,zeit_bergwertung", "205","holen";
$t1 = $_amount_query;
while(get_next("holen"))
{
$rangbw = ++$rangbw;
$Platzbw = $rangbw if($zeit_bergwertung ne $puffer);
$puffer=$zeit_bergwertung;
mod "Id==$_id&rennen==$r1", ["platzalt_bergwertung", $platz_bergwertung, "platz_bergwertung", $Platzbw], "205";
}
###### ----- Berechnung Sprintwertung ####
undef(%_get);
get "rennen==$r1&s==205", "strecken";
get "rennen==$r1 sort=-fahrt,zeit_sprint", "205","holen";
$t1 = $_amount_query;
while(get_next("holen"))
{
$rangsprint = ++$rangsprint;
$Platzsprint = $rangsprint if($zeit_sprint ne $puffer);
$puffer=$zeit_sprint;
mod "Id==$_id&rennen==$r1", ["platzalt_sprint", $platz_sprint, "platz_sprint", $Platzsprint], "205";