10. august 2005 - 12:46Der er
25 kommentarer og 1 løsning
kan jeg optimere dette
Jeg er ikke ligefrem en haj til hverken php eller mysql, men noget siger mig at det må være muligt at optimere nedenstående, så det går hurtigere - det har jeg ial fald brug for, det stumpen skal gennemføres op til over 20000 gange (et dagligt opdaterings script).
// AVERAGE DAY $creditsum=0; $daycountavg=0; $creditsum2=0; $daycount2=0; $creditsum3=0; $daycount3=0;
$sql4 = "SELECT * FROM xml_teams_credit_day WHERE (teamid = ".$row['teamid'].") AND (project = '".$updateproject."') ORDER BY dato DESC LIMIT 0, 122"; //echo $sql4."<br>"; $status4=mysql_query("$sql4") or die (mysql_error()); while ($row4 = mysql_fetch_array($status4)){
$daycountavg=$daycountavg+1;
if ($daycountavg<8){ $daycount2=$daycount2+1; $creditsum2=$creditsum2+$row4['credit_day']; } if ($daycountavg<31){ $daycount3=$daycount3+1; $creditsum3=$creditsum3+$row4['credit_day']; }
if ($daycountavg>0){ $avgday=$creditsum/($daycountavg); }else{ $avgday=0; } if ($daycount2>0){ $avgday7=$creditsum2/($daycount2); }else{ $avgday7=0; } if ($daycount3>0){ $avgday30=$creditsum3/($daycount3); }else{ $avgday30=0; } $average7[$row['teamid']]=$avgday7; $average122[$row['teamid']]=$avgday; $sql3 = "INSERT INTO xml_teams_average (dato, average, teamid, project) VALUES (".date("Ymd", $yesterday).", ".$avgday.", ".$row['teamid'].", '".$updateproject."')"; //echo $sql3."<br>"; //echo "- tilføjer avg day<br>"; mysql_query("$sql3") or die (mysql_error()); $sql3 = "INSERT INTO xml_teams_average_7 (dato, avg7, avg30, teamid, project) VALUES (".date("Ymd", $yesterday).", ".$avgday7.", ".$avgday30.", ".$row['teamid'].", '".$updateproject."')"; //echo $sql3."<br>"; //echo "- tilføjer avg day<br>"; mysql_query("$sql3") or die (mysql_error());
Oprindeligt havde jeg to SELECT mere, til beregning af henholdsvis avgday7 og avgday30, men jeg fik smidt de dele ind i ovenstående, og fik skåret en masse tid af. Men kan jeg optimere det her yderligere?
Brug af AI afslører de svagheder, virksomheder allerede har opbygget gennem års cloud-transformation, nye SaaS-løsninger og fragmenterede sikkerhedssystemer.
Nogle ting du kunne gøre. I dit udtræk fra sql'en i SELECT, brug ikke SELECT *, men nøjes med: SELECT credit_day Og hvad bruger du disse til: $average7[$row['teamid']]=$avgday7; $average122[$row['teamid']]=$avgday; Jeg set dem ikke længere nede i scriptet?
$average7[$row['teamid']]=$avgday7; og tilsvarende for 30 bruger jeg senere i en anden del af scriptet. Men du har helt ret - jeg kan spare lidt ved kun at selecte credit_day - jeg henter jo ikke teamid, dato eller nøgle.
Jeg har imellemtiden fundet ud af at der er noget andet der sænker scriptet: Mangel på hukommelse - jeg har dog bestilt mere ram. Indtil da må jeg se om ikke jeg kan spare et eller flere array(s) væk. Jeg har jo bemærket at scriptet kører langsommere og langsommere - selvfølgelig fordi hukommelsen fyldes op (og jeg kører i forvejen helt ude på grænsen).
Nu skal jeg så lige vente til igangværende kørsel er færdig før jeg gør noget - ja, den kører stadig :D
$sql4 = "SELECT credit_day FROM xml_teams_credit_day WHERE (teamid = " . $row['teamid'] . ") AND (project = '" . $updateproject . "') ORDER BY dato DESC LIMIT 0, 122"; // echo $sql4 . "<br>"; $status4 = mysql_query("$sql4") or die (mysql_error());
while ($row4 = mysql_fetch_assoc($status4)) { $daycountavg++;
$credit_day = $row4['credit_day'];
if ($daycountavg < 31) { if ($daycountavg < 8) { $daycount2++; $creditsum2 += $credit_day; }
SELECT credit_day FROM xml_teams_credit_day WHERE project = '" . $updateproject . "' AND teamid = " . $row['teamid'] . " ORDER BY dato DESC LIMIT 0, 122";
- virker bedre end:
SELECT credit_day FROM xml_teams_credit_day WHERE teamid = " . $row['teamid'] . " AND project = '" . $updateproject . "' ORDER BY dato DESC LIMIT 0, 122";
Det er nemlig ikke helt ligegyldigt, rent performance-mæssigt, hvordan man sammensætter rækkefølgen i sit SQL-udtryk.
jeg tror jeg kan garantere at selv de mindste ting giver noget.
scriptet kører iøvrigt stadig :D Det er ikke uden grund jeg glæder mig til noget mere ram ;)
Jeg var iøvrigt ikke klar over at rækkefølgen i betingelserne kunne have en betydning - så det vil jeg prøve :) Ligesom jeg vil prøve at komme af med de arrays - jeg tror nemlig jeg ikke behøver dem, hvis jeg omarrangerer andre dele af scriptet. Det hjalp at spare 4 sql-kald pr gennemløb (altså ca. 80000 sql kald) - og jeg kan sandsynligvis spare de to arrays nævnt hér plus et andet der fyldes op før og bruges efter denne stump, hvilket så vil spare ca. 60000 double pladser i hukommelsen. Det burde også give en god del forøgelse på hastigheden.
Det varer nok et par timer endnu før jeg kan prøve alle disse ting af (må nok hellere gøre det op mod en test-database ;))
Når man sætter betingelser i sin SQL - i dette tilfælde de to udrryk på hver side af ABD - bør man sætte dem sådan at de hurtigst muligt indskrænker det totale antal udtrukne rækker. Altså forstået sådan at den af de to, som foroversager at flest rækker sorteres fra, bør placeres først.
aha, altså noget ala "find lige de rækker hvor project er lig updateproject. af dem find så de rækker der er lig teamid" og ikke som jeg troede, noget i stil med "køre hele baduljen igennem og find dem der samtidig passer på begge betingelser"?
Nej, for hvis en given række fejler på den venstre-siden af en AND, så er der jo slet ikke nogen grund til at teste for om den fejler eller ej på højresiden.
boolean short-circut? genialt navn :D det ville også være genialt hvis kørslen snart var slut så jeg kunne afprøve de her optimeringer... ser ikke ud til det bliver før ved 3-tiden...
Vi har ikke fået noget at vide om hvor stor tabellen er, og hvis den er meget stor så er indexing en mulighed. Dog kan det være et problem mht. performance hvis tabellen så også er meget dynamisk idet index så hele tiden skal rebuildes.
Der blev sagt at koden skulle køres over 20.000 gange om dagen. Samtidig skriver bgo også at det er ”et dagligt opdaterings script”. Umiddelbart hænger disse to udsagn ikke helt sammen, med mindre de 20.000 gange skyldes at der er den samme SQL, sætning:
sql4 = "SELECT credit_day FROM xml_teams_credit_day WHERE (teamid = " . $row['teamid'] . ") AND (project = '" . $updateproject . "') ORDER BY dato DESC LIMIT 0, 122";
- men med 20.000 forskellige værdier af $row['teamid'] der høres i et samlet run. Er det korrekt gættet?
Hvis dette er tilfældet så kan man sikkert vinde en del ved at kombinere den SQL som udtrækker $row['teamid'] med ovenstående, sådan at man får reduceret 20.000 kald til et enkelt. Desværre mangler jeg en del mere kode for at kunne give et bud på hvordan dette kunne strikkes sammen.
Kodestumpen er ganske rigtigt en del af et større script - det script skal udføres én gang omdagen (i øjeblikket forsøger jeg dog at indhente en del dages data, så indtil da ville jeg gerne nå at kører det oftere). I det større script vil stumpen nå at blive kaldt mere end 20000 gange på den ene fil der danner grundlag for dataene. De filer ændrer sig dagligt.
Jeg har ikke haft lejlighed til endnu at kører det med de nævnte optimeringer, men jeg har ændret mange steder i scriptet nu, men disse. Her er den nuværende udgave af det fulde script:
$yesterday=mktime(0, 0, 0, date("m") , date("d")-18, date("Y")); mysql_connect("127.0.0.1","root","") or die (mysql_error()); mysql_select_db("stats") or die (mysql_error());
mysql_query("UPDATE runtimes SET starttime = NOW() WHERE (stattype = 'teams') AND (project = '".$updateproject."')");
$sql = "SELECT * FROM coredata WHERE project = '".$updateproject."'";
$status=mysql_query("$sql") or die (mysql_error()); while ($row = mysql_fetch_array($status)){
$sql = "DELETE FROM xml_teams_temp"; //mysql_query("$sql") or die (mysql_error()); $sql = "DELETE FROM xml_teams_forecast_temp"; mysql_query("$sql") or die (mysql_error());
$sql = "DELETE FROM xml_teams_average"; //mysql_query("$sql") or die (mysql_error());
$sql = "DELETE FROM xml_teams_average_7"; //mysql_query("$sql") or die (mysql_error());
$sql = "DELETE FROM xml_teams_credit_day"; //mysql_query("$sql") or die (mysql_error());
$sql = "DELETE FROM xml_teams_credit_month"; //mysql_query("$sql") or die (mysql_error());
$sql = "DELETE FROM xml_teams_credit_week"; //mysql_query("$sql") or die (mysql_error());
$sql = "DELETE FROM xml_teams_flops"; //mysql_query("$sql") or die (mysql_error());
$sql = "DELETE FROM xml_teams_list"; //mysql_query("$sql") or die (mysql_error());
$sql = "DELETE FROM xml_teams_morethanall"; //mysql_query("$sql") or die (mysql_error());
$sql = "DELETE FROM xml_teams_morethancountry"; mysql_query("$sql") or die (mysql_error()); $sql = "DELETE FROM xml_teams_morethantype"; mysql_query("$sql") or die (mysql_error()); $sql = "DELETE FROM xml_teams_nusers"; //mysql_query("$sql") or die (mysql_error());
$sql = "DELETE FROM xml_teams_rac"; //mysql_query("$sql") or die (mysql_error());
$sql = "DELETE FROM xml_teams_totalcredit"; //mysql_query("$sql") or die (mysql_error());
$sql = "DELETE FROM xml_teams_worldrank"; //mysql_query("$sql") or die (mysql_error());
$sql = "DELETE FROM xml_teams_worldrank_average"; mysql_query("$sql") or die (mysql_error()); $sql = "DELETE FROM xml_teams_worldrank_country"; mysql_query("$sql") or die (mysql_error()); $sql = "DELETE FROM xml_teams_worldrank_rac"; mysql_query("$sql") or die (mysql_error()); $sql = "DELETE FROM xml_teams_worldrank_type"; mysql_query("$sql") or die (mysql_error()); $sql = "DELETE FROM xml_teams_years"; //mysql_query("$sql") or die (mysql_error());
file_ungzip("h:/boincstats-xml/".$updateproject."/23-07-2005/".$teamname, "h:/boincstats-xml/".$updateproject."/23-07-2005/team.xml"); $file = "h:/boincstats-xml/".$updateproject."/23-07-2005/team.xml"; $xml_parser = xml_parser_create(); xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, true); xml_set_element_handler($xml_parser, "startElement", "endElement"); xml_set_character_data_handler($xml_parser, "characterData"); xml_parse($xml_parser, load_data($file)) or die ("<P>Fejl ved parsing af XML!"); xml_parser_free($xml_parser);
// PURE INSERTIONS $totalprojectcredit=0; $totalprojectteams=0;
$sql = "SELECT teamid, type, name, userid, total_credit, expavg_credit, nusers, founder_name, create_time, url, country FROM xml_teams_temp WHERE project = '".$updateproject."'";
$status=mysql_query("$sql") or die (mysql_error()); while ($row = mysql_fetch_array($status)){ echo "part one - /// ".$row['teamid']." /// "; // TEAM LIST $count=0;
$sql2 = "SELECT type FROM xml_teams_list WHERE (project = '".$updateproject."') AND (teamid = ".$row['teamid'].")";
$status2=mysql_query("$sql2") or die (mysql_error()); while ($row2 = mysql_fetch_array($status2)){
//$sql3 = "UPDATE xml_teams_list SET type = ".$row['type'].", name = \"".str_replace("'","\'",$row['name'])."\", userid = ".$row['userid'].", founder_name = \"".$row['founder_name']."\", url = \"".$row['url']."\", country = \"".$row['country']."\", create_time = \"".$row['create_time']."\" WHERE (teamid = ".$row['teamid'].") AND (project = \"".$updateproject."\")";
} if ($count<>1){ $sql3= "INSERT INTO xml_teams_list (teamid, type, name, userid, founder_name, create_time, url, country, added, project) VALUES (".$row['teamid'].", ".$row['type'].", \"".str_replace("'","\'",$row['name'])."\", ".$row['userid'].", \"".$row['founder_name']."\", \"".$row['create_time']."\", \"".$row['url']."\", \"".$row['country']."\", ".date("Ymd", $yesterday).", \"".$updateproject."\")"; $totalprojectteams+=1; //echo "opretter ".$row['teamid']."<br>"; mysql_query($sql3) or die (mysql_error()); }
// TOTAL CREDIT
$totalcredit=$row['total_credit']; $sql3 = "INSERT INTO xml_teams_totalcredit (dato, total_credit, teamid, project) VALUES (".date("Ymd", $yesterday).", ".$row['total_credit'].", ".$row['teamid'].", '".$updateproject."')"; $totalprojectcredit+=$row['total_credit']; //echo "- tilføjer credit<br>"; mysql_query("$sql3") or die (mysql_error());
// RAC $teamrac=$row['expavg_credit']; $sql3 = "INSERT INTO xml_teams_rac (dato, rac, teamid, project) VALUES (".date("Ymd", $yesterday).", ".$row['expavg_credit'].", ".$row['teamid'].", '".$updateproject."')"; //echo "- tilføjer rac<br>"; mysql_query("$sql3") or die (mysql_error());
// NUSERS $sql3 = "INSERT INTO xml_teams_nusers (dato, nusers, teamid, project) VALUES (".date("Ymd", $yesterday).", ".$row['nusers'].", ".$row['teamid'].", '".$updateproject."')"; //echo "- tilføjer nusers<br>"; mysql_query("$sql3") or die (mysql_error());
// 122 AVERAGE RAC //$daycount=0; //$racsum=0; //$sql4 = "SELECT * FROM xml_teams_rac WHERE (teamid = ".$row['teamid'].") AND (project = '".$updateproject."') ORDER BY dato DESC LIMIT 122";
//$status4=mysql_query("$sql4") or die (mysql_error()); //while ($row4 = mysql_fetch_array($status4)){
// $racsum+=$row4['rac']; // $daycount+=1;
//} //$avgrac=$racsum/$daycount; //$sql3 = "UPDATE xml_teams_rac SET avg_rac = ".$avgrac." WHERE (teamid= ".$row['teamid'].") AND (dato = ".date("Ymd", $yesterday).") AND (project= '".$updateproject."')"; //echo "- tilføjer avg rac<br>"; //mysql_query("$sql3") or die (mysql_error());
// CREDIT DAY $daycount=Array(2); $x=0; $daytotal[0]=0; $daytotal[1]=0; $sql4 = "SELECT total_credit FROM xml_teams_totalcredit WHERE (project = '".$updateproject."') AND (teamid = ".$row['teamid'].") ORDER BY dato DESC LIMIT 2";
$status4=mysql_query("$sql4") or die (mysql_error()); while ($row4 = mysql_fetch_array($status4)){
$daytotal[$x]=$row4['total_credit']; $x+=1; //echo "credit at ".$row4['dato'].": ".$row4['total_credit']."<br>";
if ($day<>"Mon"){ $weekcount=0; $sql4 = "SELECT credit_week FROM xml_teams_credit_week WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $weekend).") AND (teamid = ".$row['teamid'].") ORDER BY dato DESC";
$status4=mysql_query("$sql4") or die (mysql_error()); while ($row4 = mysql_fetch_array($status4)){
$weektotal=$row4['credit_week']; $weekcount+=1;
} $weektotal2=$weektotal+$daycredit; //echo "this week yesterday: ".$weektotal." credit today: ".$daycredit." new week total: ".$weektotal2."<br>"; if ($weekcount>0){ $sql3 = "UPDATE xml_teams_credit_week SET credit_week = ".$weektotal2." WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $weekend).") AND (teamid = ".$row['teamid'].")"; //echo $sql3."<br>"; //echo "add to current week<br>"; }else{ $sql3 = "INSERT INTO xml_teams_credit_week (credit_week, dato, teamid, project) VALUES (".$daycredit.", ".date("Ymd", $weekend).", ".$row['teamid'].", '".$updateproject."')"; //echo $sql3."<br>"; //echo "start new week<br>"; } //echo "current week ends ".date("d D m Y",$weekend)."<br>"; }else{ //echo "this week yesterday: ".$weektotal." credit today: ".$daycredit." new week total: ".$daycredit."<br>"; $sql3 = "INSERT INTO xml_teams_credit_week (credit_week, dato, teamid, project) VALUES (".$daycredit.", ".date("Ymd", $weekend).", ".$row['teamid'].", '".$updateproject."')"; //echo $sql3."<br>"; //echo "start new week<br>"; //echo "new week ends ".date("d D m Y",$weekend)."<br>"; } //echo "- tilføjer credit week<br>"; mysql_query("$sql3") or die (mysql_error());
// CREDIT MONTH
$thismonth1=date("M",$yesterday); $thismonth=mktime(0, 0, 0, date("m",$yesterday) , 1, date("Y",$yesterday)); if ($daydate<>1){ $monthcount=0; $sql4 = "SELECT credit_month FROM xml_teams_credit_month WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $thismonth).") AND (teamid = ".$row['teamid'].") ORDER BY dato DESC";
$status4=mysql_query("$sql4") or die (mysql_error()); while ($row4 = mysql_fetch_array($status4)){
} $monthtotal2=$monthtotal+$daycredit; //echo "this month yesterday: ".$monthtotal." credit today: ".$daycredit." new month total: ".$monthtotal2."<br>"; if ($monthcount>0){ $sql3 = "UPDATE xml_teams_credit_month SET credit_month = ".$monthtotal2." WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $thismonth).") AND (teamid = ".$row['teamid'].")"; // echo $sql3."<br>"; // echo "add to current month<br>"; }else{ $sql3 = "INSERT INTO xml_teams_credit_month (credit_month, dato, teamid, project) VALUES (".$daycredit.", ".date("Ymd", $thismonth).", ".$row['teamid'].", '".$updateproject."')"; // echo $sql3."<br>"; // echo "start new month<br>"; }
}else{ //echo "this month yesterday: ".$monthtotal." credit today: ".$daycredit." new month total: ".$daycredit."<br>"; $sql3 = "INSERT INTO xml_teams_credit_month (credit_month, dato, teamid, project) VALUES (".$daycredit.", ".date("Ymd", $thismonth).", ".$row['teamid'].", '".$updateproject."')"; //echo $sql3."<br>"; //echo "start new month<br>"; //echo "new week ends ".date("d D m Y",$weekend)."<br>"; } //echo $thismonth1." ".date("dmY",$thismonth)."<br>"; //echo "- tilføjer credit month<br>"; mysql_query("$sql3") or die (mysql_error());
// REMOVE CREDIT DAY (ONLY WHEN NEWLY ADDED OLDER PROJECT) // REMOVE CREDIT DAY (ONLY WHEN NEWLY ADDED OLDER PROJECT) // REMOVE CREDIT DAY (ONLY WHEN NEWLY ADDED OLDER PROJECT) // REMOVE CREDIT DAY (ONLY WHEN NEWLY ADDED OLDER PROJECT) //if ($row['teamid']<>34){ // $sql3 = "UPDATE xml_teams_credit_day SET credit_day = 0 WHERE (teamid = ".$row['teamid'].") AND (dato = ".date("Ymd", $yesterday).") AND (project = '".$updateproject."')"; // mysql_query("$sql3") or die (mysql_error()); //}
// AVERAGE DAY $creditsum=0; $daycountavg=0; $creditsum2=0; $daycount2=0; $creditsum3=0; $daycount3=0;
$sql4 = "SELECT credit_day FROM xml_teams_credit_day WHERE (project = '".$updateproject."') AND (teamid = ".$row['teamid'].") ORDER BY dato DESC LIMIT 0, 122"; //echo $sql4."<br>"; $status4=mysql_query("$sql4") or die (mysql_error()); while ($row4 = mysql_fetch_array($status4)){
$daycountavg=$daycountavg+1;
if ($daycountavg<31){ if ($daycountavg<8){ $daycount2=$daycount2+1; $creditsum2=$creditsum2+$row4['credit_day']; } $daycount3=$daycount3+1; $creditsum3=$creditsum3+$row4['credit_day']; }
if ($daycountavg>0){ $avgday=$creditsum/($daycountavg); }else{ $avgday=0; } if ($daycount2>0){ $avgday7=$creditsum2/($daycount2); }else{ $avgday7=0; } if ($daycount3>0){ $avgday30=$creditsum3/($daycount3); }else{ $avgday30=0; } $average7=$avgday7; $average122=$avgday; $sql3 = "INSERT INTO xml_teams_average (dato, average, teamid, project) VALUES (".date("Ymd", $yesterday).", ".$avgday.", ".$row['teamid'].", '".$updateproject."')"; //echo $sql3."<br>"; //echo "- tilføjer avg day<br>"; mysql_query("$sql3") or die (mysql_error());
// NUSERS CHANGE $daycount=Array(2); $x=0; $sql4 = "SELECT nusers FROM xml_teams_nusers WHERE (project = '".$updateproject."') AND (teamid = ".$row['teamid'].") ORDER BY dato DESC LIMIT 2";
$status4=mysql_query("$sql4") or die (mysql_error()); while ($row4 = mysql_fetch_array($status4)){
$usertotal[$x]=$row4['nusers']; $x+=1;
} $dayuser=$usertotal[0]-$usertotal[1]; //echo $dayuser." - 0: ",$usertotal[0]." - 1: ".$usertotal[1]."<br>"; $sql3 = "UPDATE xml_teams_nusers SET changed = ".$dayuser." WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") AND (teamid = ".$row['teamid'].")"; //echo $sql3."<br>"; //echo "- tilføjer nusers day<br>"; mysql_query("$sql3") or die (mysql_error());
// FLOPS //$sql4 = "SELECT * FROM xml_teams_average WHERE (teamid = ".$row['teamid'].") AND (dato = ".date("Ymd", $yesterday).") AND (project = '".$updateproject."')"; //echo $sql4."<br>"; //$status4=mysql_query("$sql4") or die (mysql_error()); //while ($row4 = mysql_fetch_array($status4)){
$gflops=$average122/100;
//} $sql3 = "INSERT INTO xml_teams_flops (gflops, dato, teamid, project) VALUES (".$gflops.", ".date("Ymd", $yesterday).", ".$row['teamid'].", '".$updateproject."')"; //echo $sql3."<br>"; //echo "- tilføjer flops<br>"; mysql_query("$sql3") or die (mysql_error());
// AVERAGE DAY 7 //$creditsum=0; //$creditsum2=0; //$daycount=0; //$daycount2=0;
//$sql4 = "SELECT * FROM xml_teams_credit_day WHERE (teamid = ".$row['teamid'].") AND (project = '".$updateproject."') ORDER BY dato DESC LIMIT 0, 30"; //echo $sql4."<br>"; //$status4=mysql_query("$sql4") or die (mysql_error()); //while ($row4 = mysql_fetch_array($status4)){
$sql3 = "INSERT INTO xml_teams_average_7 (dato, avg7, avg30, teamid, project) VALUES (".date("Ymd", $yesterday).", ".$avgday7.", ".$avgday30.", ".$row['teamid'].", '".$updateproject."')"; //echo $sql3."<br>"; //echo "- tilføjer avg day<br>"; mysql_query("$sql3") or die (mysql_error());
// AVERAGE DAY 30 //$creditsum=0; //$daycount=0;
//$sql4 = "SELECT * FROM xml_teams_credit_day WHERE (teamid = ".$row['teamid'].") AND (project = '".$updateproject."') ORDER BY dato DESC LIMIT 0, 30"; //echo $sql4."<br>"; //$status4=mysql_query("$sql4") or die (mysql_error()); //while ($row4 = mysql_fetch_array($status4)){
//$sql3 = "UPDATE xml_teams_average_7 SET avg30 = ".$avgday30." WHERE (dato = ".date("Ymd", $yesterday).") AND (teamid = ".$row['teamid'].") AND (project = '".$updateproject."')"; //echo $sql3."<br>"; //echo "- tilføjer avg day 7 & 30<br>"; //mysql_query("$sql3") or die (mysql_error());
// YEARS TOTAL $yearstotal=((((($totalcredit*1728000)/(1000+1000))/60)/60)/24)/365; //echo "total ".$yearstotal;
// YEARS DAILY $yearsdaily=(((((($daycredit)*1728000)/(1000+1000))/60)/60)/24)/365; //echo " daily ".$yearsdaily;
// YEARS AVERAGE $yearsavg=((((((($average122)*1728000)/(1000+1000))/60)/60)/24)/365); //echo " avg ".$yearsdaily."<br>";
$sql3 = "INSERT INTO xml_teams_years (dato, total, day, average, teamid, project) VALUES (".date("Ymd", $yesterday).", ".$yearstotal.", ".$yearsdaily.", ".$yearsavg.", ".$row['teamid'].", '".$updateproject."')"; //echo $sql3."<br>"; //echo "- tilføjer years total, daily & avg<br>"; mysql_query("$sql3") or die (mysql_error());
//echo "predictions by avg122 : tomorrow: ".$pred_t_122." in 7 days: ".$pred_7_122." in 30 days: ".$pred_30_122."<br>"; //echo "predictions by avg7 : tomorrow: ".$pred_t_7." in 7 days: ".$pred_7_7." in 30 days: ".$pred_30_7."<br>"; //echo "predictions by rac : tomorrow: ".$pred_t_rac." in 7 days: ".$pred_7_rac." in 30 days: ".$pred_30_rac."<br>";
//echo "- genererer temp predictions for ".$row3['teamid']."<br>"; mysql_query("$sql5") or die (mysql_error());
} // WORLD RANK CREDIT $sql4 = "SELECT teamid FROM xml_teams_totalcredit WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") ORDER BY total_credit DESC"; $totalcreditrank=0;
$status4=mysql_query("$sql4") or die (mysql_error()); while ($row4 = mysql_fetch_array($status4)){
$totalcreditrank+=1; echo "part two - /// ".$totalcreditrank." /// "; //echo $row4['teamid']." is ranked at ".$totalcreditrank." as a result of having ".$row4['total_credit']." credits<br>"; $sql3 = "INSERT INTO xml_teams_worldrank (worldrank, dato, teamid, project) VALUES (".$totalcreditrank.", ".date("Ymd", $yesterday).", ".$row4['teamid'].", '".$updateproject."')"; //echo $sql3."<br>";
//echo "- tilføjer total credit world rank for ".$row4['teamid']."<br>"; mysql_query("$sql3") or die (mysql_error());
}
// get amount of teams $result9=mysql_query("SELECT Count(id) AS Antal FROM xml_teams_list WHERE project = '".$updateproject."'"); $row9 = mysql_fetch_assoc($result9); $teamcount = $row9['Antal']; echo "<br>".$teamcount."<br>";
$sql3 = "SELECT teamid FROM xml_teams_list WHERE project = '".$updateproject."'";
$status3=mysql_query("$sql3") or die (mysql_error()); while ($row3 = mysql_fetch_array($status3)){ echo "part three - /// ".$row3['teamid']." /// "; // WORLD RANK CREDIT CHANGE $dayrank=array(2); $dayrank[0]=0; $dayrank[1]=0; $x=0; $sql4 = "SELECT worldrank FROM xml_teams_worldrank WHERE (project = '".$updateproject."') AND (teamid = ".$row3['teamid'].") ORDER BY dato DESC LIMIT 2"; //echo $sql4."<br>"; $status4=mysql_query("$sql4") or die (mysql_error()); while ($row4 = mysql_fetch_array($status4)){
$dayrank[$x]=$row4['worldrank']; //echo "rank at ".$row4['dato'].": ".$dayrank[$x]."<br>"; $x+=1;
} $rankchange=$dayrank[1]-$dayrank[0]; $sql5 = "UPDATE xml_teams_worldrank SET changed = ".$rankchange." WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") AND (teamid = ".$row3['teamid'].")"; //echo $sql5."<br>"; mysql_query("$sql5") or die (mysql_error()); //echo "- tilføjer worldrank change for ".$row3['teamid']."<br>";
// MORE THAN ALL $morethanall=(($teamcount-$dayrank[0])/$teamcount)*100; //echo $dayrank[0]." ".$teamcount." ".$morethanall."<br>"; $sql5 = "INSERT INTO xml_teams_morethanall (morethan, dato, teamid, project) VALUES (".$morethanall.", ".date("Ymd", $yesterday).", ".$row3['teamid'].", '".$updateproject."')"; //echo $sql5."<br>";
//echo "- tilføjer more than all for ".$row3['teamid']."<br>"; mysql_query("$sql5") or die (mysql_error());
}
// TEAM FORECASTS $tomorrowdate=mktime(0, 0, 0, date("m") , date("d"), date("Y")); $sevendate=mktime(0, 0, 0, date("m") , date("d")+6, date("Y")); $thirtydate=mktime(0, 0, 0, date("m") , date("d")+29, date("Y")); $sql4 = "SELECT teamid FROM xml_teams_forecast_temp WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") ORDER BY tomorrow122 DESC"; $totalcreditrank=0;
$status4=mysql_query("$sql4") or die (mysql_error()); while ($row4 = mysql_fetch_array($status4)){
$totalcreditrank+=1; echo "part four - /// ".$totalcreditrank." /// "; //echo $row4['teamid']." is predicted to rank at ".$totalcreditrank." as a result of having ".$row4['tomorrow122']." credits at date: ".date("Y-md-", $tomorrowdate)." (122)<br>"; $teamidarray_t_122[$row4['teamid']]=$totalcreditrank;
//$sql3 = "UPDATE xml_teams_worldrank SET forecast_t_a_122 =".$totalcreditrank." WHERE (project = '".$updateproject."') AND (teamid = ".$row4['teamid'].") AND (dato = ".date("Ymd", $yesterday).")"; //echo $sql3."<br>";
//echo "- tilføjer total credit world rank for ".$row4['teamid']."<br>"; //mysql_query("$sql3") or die (mysql_error());
} $sql4 = "SELECT teamid FROM xml_teams_forecast_temp WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") ORDER BY tomorrow7 DESC"; $totalcreditrank=0;
$status4=mysql_query("$sql4") or die (mysql_error()); while ($row4 = mysql_fetch_array($status4)){
$totalcreditrank+=1; echo "part five - /// ".$totalcreditrank." /// "; //echo $row4['teamid']." is predicted to rank at ".$totalcreditrank." as a result of having ".$row4['tomorrow7']." credits at date: ".date("Y-m-d", $tomorrowdate)." (7)<br>"; $teamidarray_t_7[$row4['teamid']]=$totalcreditrank;
//$sql3 = "UPDATE xml_teams_worldrank SET forecast_t_a_7 =".$totalcreditrank." WHERE (project = '".$updateproject."') AND (teamid = ".$row4['teamid'].") AND (dato = ".date("Ymd", $yesterday).")"; //$sql3 = "INSERT INTO xml_teams_worldrank (worldrank, dato, teamid, project) VALUES (".$totalcreditrank.", ".date("Ymd", $yesterday).", ".$row4['teamid'].", '".$updateproject."')"; //echo $sql3."<br>";
//echo "- tilføjer total credit world rank for ".$row4['teamid']."<br>"; //mysql_query("$sql3") or die (mysql_error());
} $sql4 = "SELECT teamid FROM xml_teams_forecast_temp WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") ORDER BY tomorrowrac DESC"; $totalcreditrank=0;
$status4=mysql_query("$sql4") or die (mysql_error()); while ($row4 = mysql_fetch_array($status4)){
$totalcreditrank+=1; echo "part six - /// ".$totalcreditrank." /// "; //echo $row4['teamid']." is predicted to rank at ".$totalcreditrank." as a result of having ".$row4['tomorrowrac']." credits at date: ".date("Y-m-d", $tomorrowdate)." (rac)<br>"; $teamidarray_t_rac[$row4['teamid']]=$totalcreditrank;
//$sql3 = "UPDATE xml_teams_worldrank SET forecast_t_rac =".$totalcreditrank." WHERE (project = '".$updateproject."') AND (teamid = ".$row4['teamid'].") AND (dato = ".date("Ymd", $yesterday).")"; //$sql3 = "INSERT INTO xml_teams_worldrank (worldrank, dato, teamid, project) VALUES (".$totalcreditrank.", ".date("Ymd", $yesterday).", ".$row4['teamid'].", '".$updateproject."')"; //echo $sql3."<br>";
//echo "- tilføjer total credit world rank for ".$row4['teamid']."<br>"; //mysql_query("$sql3") or die (mysql_error());
} $sql4 = "SELECT teamid FROM xml_teams_forecast_temp WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") ORDER BY seven122 DESC"; $totalcreditrank=0;
$status4=mysql_query("$sql4") or die (mysql_error()); while ($row4 = mysql_fetch_array($status4)){
$totalcreditrank+=1; echo "part seven - /// ".$totalcreditrank." /// "; //echo $row4['teamid']." is predicted to rank at ".$totalcreditrank." as a result of having ".$row4['seven122']." credits at date: ".date("Y-m-d", $sevendate)." (122)<br>"; $teamidarray_7_122[$row4['teamid']]=$totalcreditrank;
//$sql3 = "UPDATE xml_teams_worldrank SET forecast_7_a_122 =".$totalcreditrank." WHERE (project = '".$updateproject."') AND (teamid = ".$row4['teamid'].") AND (dato = ".date("Ymd", $yesterday).")"; //$sql3 = "INSERT INTO xml_teams_worldrank (worldrank, dato, teamid, project) VALUES (".$totalcreditrank.", ".date("Ymd", $yesterday).", ".$row4['teamid'].", '".$updateproject."')"; //echo $sql3."<br>";
//echo "- tilføjer total credit world rank for ".$row4['teamid']."<br>"; //mysql_query("$sql3") or die (mysql_error());
} $sql4 = "SELECT teamid FROM xml_teams_forecast_temp WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") ORDER BY seven7 DESC"; $totalcreditrank=0;
$status4=mysql_query("$sql4") or die (mysql_error()); while ($row4 = mysql_fetch_array($status4)){
$totalcreditrank+=1; echo "part eight - /// ".$totalcreditrank." /// "; //echo $row4['teamid']." is predicted to rank at ".$totalcreditrank." as a result of having ".$row4['seven7']." credits at date: ".date("Y-m-d", $sevendate)." (7)<br>"; $teamidarray_7_7[$row4['teamid']]=$totalcreditrank;
//$sql3 = "UPDATE xml_teams_worldrank SET forecast_7_a_7 =".$totalcreditrank." WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") AND (teamid = ".$row4['teamid'].")"; //$sql3 = "INSERT INTO xml_teams_worldrank (worldrank, dato, teamid, project) VALUES (".$totalcreditrank.", ".date("Ymd", $yesterday).", ".$row4['teamid'].", '".$updateproject."')"; //echo $sql3."<br>";
//echo "- tilføjer total credit world rank for ".$row4['teamid']."<br>"; //mysql_query("$sql3") or die (mysql_error());
} $sql4 = "SELECT teamid FROM xml_teams_forecast_temp WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") ORDER BY sevenrac DESC"; $totalcreditrank=0;
$status4=mysql_query("$sql4") or die (mysql_error()); while ($row4 = mysql_fetch_array($status4)){
$totalcreditrank+=1; echo "part nine - /// ".$totalcreditrank." /// "; //echo $row4['teamid']." is predicted to rank at ".$totalcreditrank." as a result of having ".$row4['sevenrac']." credits at date: ".date("Y-m-d", $sevendate)." (rac)<br>"; $teamidarray_7_rac[$row4['teamid']]=$totalcreditrank;
//$sql3 = "UPDATE xml_teams_worldrank SET forecast_7_rac =".$totalcreditrank." WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") AND (teamid = ".$row4['teamid'].")"; //$sql3 = "INSERT INTO xml_teams_worldrank (worldrank, dato, teamid, project) VALUES (".$totalcreditrank.", ".date("Ymd", $yesterday).", ".$row4['teamid'].", '".$updateproject."')"; //echo $sql3."<br>";
//echo "- tilføjer total credit world rank for ".$row4['teamid']."<br>"; //mysql_query("$sql3") or die (mysql_error());
} $sql4 = "SELECT teamid FROM xml_teams_forecast_temp WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") ORDER BY thirty122 DESC"; $totalcreditrank=0;
$status4=mysql_query("$sql4") or die (mysql_error()); while ($row4 = mysql_fetch_array($status4)){
$totalcreditrank+=1; echo "part ten - /// ".$totalcreditrank." /// "; //echo $row4['teamid']." is predicted to rank at ".$totalcreditrank." as a result of having ".$row4['thirty122']." credits at date: ".date("Y-m-d", $thirtydate)." (122)<br>"; $teamidarray_30_122[$row4['teamid']]=$totalcreditrank;
//$sql3 = "UPDATE xml_teams_worldrank SET forecast_30_a_122 =".$totalcreditrank." WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") AND (teamid = ".$row4['teamid'].")"; //$sql3 = "INSERT INTO xml_teams_worldrank (worldrank, dato, teamid, project) VALUES (".$totalcreditrank.", ".date("Ymd", $yesterday).", ".$row4['teamid'].", '".$updateproject."')"; //echo $sql3."<br>";
//echo "- tilføjer total credit world rank for ".$row4['teamid']."<br>"; //mysql_query("$sql3") or die (mysql_error());
} $sql4 = "SELECT teamid FROM xml_teams_forecast_temp WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") ORDER BY thirty7 DESC"; $totalcreditrank=0;
$status4=mysql_query("$sql4") or die (mysql_error()); while ($row4 = mysql_fetch_array($status4)){
$totalcreditrank+=1; echo "part eleven - /// ".$totalcreditrank." /// "; //echo $row4['teamid']." is predicted to rank at ".$totalcreditrank." as a result of having ".$row4['thirty7']." credits at date: ".date("Y-m-d", $thirtydate)." (7)<br>"; $teamidarray_30_7[$row4['teamid']]=$totalcreditrank;
//$sql3 = "UPDATE xml_teams_worldrank SET forecast_30_a_7 =".$totalcreditrank." WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") AND (teamid = ".$row4['teamid'].")"; //$sql3 = "INSERT INTO xml_teams_worldrank (worldrank, dato, teamid, project) VALUES (".$totalcreditrank.", ".date("Ymd", $yesterday).", ".$row4['teamid'].", '".$updateproject."')"; //echo $sql3."<br>";
//echo "- tilføjer total credit world rank for ".$row4['teamid']."<br>"; //mysql_query("$sql3") or die (mysql_error());
} $sql4 = "SELECT teamid FROM xml_teams_forecast_temp WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") ORDER BY thirtyrac DESC"; $totalcreditrank=0;
$status4=mysql_query("$sql4") or die (mysql_error()); while ($row4 = mysql_fetch_array($status4)){
$totalcreditrank+=1; echo "part twelve - /// ".$totalcreditrank." /// "; //echo $row4['teamid']." is predicted to rank at ".$totalcreditrank." as a result of having ".$row4['thirtyrac']." credits at date: ".date("Y-m-d", $thirtydate)." (rac)<br>"; $teamidarray_30_rac[$row4['teamid']]=$totalcreditrank;
//$sql3 = "UPDATE xml_teams_worldrank SET forecast_30_rac =".$totalcreditrank." WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") AND (teamid = ".$row4['teamid'].")"; //$sql3 = "INSERT INTO xml_teams_worldrank (worldrank, dato, teamid, project) VALUES (".$totalcreditrank.", ".date("Ymd", $yesterday).", ".$row4['teamid'].", '".$updateproject."')"; //echo $sql3."<br>";
//echo "- tilføjer total credit world rank for ".$row4['teamid']."<br>"; //mysql_query("$sql3") or die (mysql_error());
}
echo $totalcreditrank."<br>"; //$x=0; $sql4 = "SELECT * FROM xml_teams_forecast_temp WHERE (dato = ".date("Ymd", $yesterday).") AND (project = '".$updateproject."')"; $totalcreditrank=0;
$status4=mysql_query("$sql4") or die (mysql_error()); while ($row4 = mysql_fetch_array($status4)){
//echo "(".$teamidarray_t_122[$x]." ".$teamidarray_t_7[$x]." ".$teamidarray_t_rac[$x]."/".$teamidarray_7_122[$x]." ".$teamidarray_7_7[$x]." ".$teamidarray_7_rac[$x]."/".$teamidarray_30_122[$x]." ".$teamidarray_30_7[$x]." ".$teamidarray_30_rac[$x].") - "; $sql5 = "UPDATE xml_teams_worldrank SET forecast_t_a_122 =".$teamidarray_t_122[$row4['teamid']].", forecast_t_a_7=".$teamidarray_t_7[$row4['teamid']].", forecast_t_rac=".$teamidarray_t_rac[$row4['teamid']].", forecast_7_a_122=".$teamidarray_7_122[$row4['teamid']].", forecast_7_a_7=".$teamidarray_7_7[$row4['teamid']].", forecast_7_rac=".$teamidarray_7_rac[$row4['teamid']].", forecast_30_a_122=".$teamidarray_30_122[$row4['teamid']].", forecast_30_a_7=".$teamidarray_30_7[$row4['teamid']].", forecast_30_rac=".$teamidarray_30_rac[$row4['teamid']]." WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") AND (teamid = ".$row4['teamid'].")"; //echo $sql5."<br>";
echo "- tilføjer rank predictions for ".$row4['teamid']."<br>"; mysql_query("$sql5") or die (mysql_error()); }
//echo "<br>".$totalcreditrank."<br>";
$sql5 = "UPDATE xml_project_totals SET totalprojectcredit_team = ".$totalprojectcredit.", totalnumberteams = ".$totalprojectteams." WHERE (dato = ".date("Ymd", $yesterday).") AND (project = '".$updateproject."')"; //echo $sql5."<br>";
echo "- tilføjer team totals for project ".$updateproject."<br>"; mysql_query("$sql5") or die (mysql_error());
mysql_query("UPDATE runtimes SET endtime = NOW() WHERE (stattype = 'teams') AND (project = '".$updateproject."')");
mysql_close() or die (mysql_error()); ?>
Scriptet køres med 10 forskellige inddatafiler, hvoraf den største giver de 20000 - der er nemlig 20000 teams i den fil. De andre giver ikke lige så store problemer, de de har mellem 24 og 3000 teams. Efter dette script køres et tilsvarende script, der ikke har en fil som inddtata, men benytter xml_teams_temp i stedet, og derefter ellers fortager nøjagtig de samme ting (derfor rydes der ikke op i dén tabel, det gør det andet script bagefter). Det script kommer så op på ca. 23000 (den summere dubletter).
Jeg skulle gerne kunne lave tilsvarende opdateringer for individuelle brugere, og der kommer vi op i de 110000+ i antal. Bare ikke muligt før jeg har mere ram, og tiden her er sat ned (ovenstående script, før ændringer tog 13 timer og 48 minutter på den store fil).
indsættelse af $totalcredit, $expavg_credit og $nusers har jeg flyttet op ved indlæsning af fil - der er ingen grund til at "flytte" på de tal på den måde
$sql = "DELETE FROM xml_teams_temp"; //mysql_query("$sql") or die (mysql_error()); $sql = "DELETE FROM xml_teams_forecast_temp"; mysql_query("$sql") or die (mysql_error());
$sql = "DELETE FROM xml_teams_average"; //mysql_query("$sql") or die (mysql_error());
$sql = "DELETE FROM xml_teams_average_7"; //mysql_query("$sql") or die (mysql_error());
$sql = "DELETE FROM xml_teams_credit_day"; //mysql_query("$sql") or die (mysql_error());
$sql = "DELETE FROM xml_teams_credit_month"; //mysql_query("$sql") or die (mysql_error());
$sql = "DELETE FROM xml_teams_credit_week"; //mysql_query("$sql") or die (mysql_error());
$sql = "DELETE FROM xml_teams_flops"; //mysql_query("$sql") or die (mysql_error());
$sql = "DELETE FROM xml_teams_list"; //mysql_query("$sql") or die (mysql_error());
$sql = "DELETE FROM xml_teams_morethanall"; //mysql_query("$sql") or die (mysql_error());
$sql = "DELETE FROM xml_teams_morethancountry"; mysql_query("$sql") or die (mysql_error()); $sql = "DELETE FROM xml_teams_morethantype"; mysql_query("$sql") or die (mysql_error()); $sql = "DELETE FROM xml_teams_nusers"; //mysql_query("$sql") or die (mysql_error());
$sql = "DELETE FROM xml_teams_rac"; //mysql_query("$sql") or die (mysql_error());
$sql = "DELETE FROM xml_teams_totalcredit"; //mysql_query("$sql") or die (mysql_error());
$sql = "DELETE FROM xml_teams_worldrank"; //mysql_query("$sql") or die (mysql_error());
$sql = "DELETE FROM xml_teams_worldrank_average"; mysql_query("$sql") or die (mysql_error()); $sql = "DELETE FROM xml_teams_worldrank_country"; mysql_query("$sql") or die (mysql_error()); $sql = "DELETE FROM xml_teams_worldrank_rac"; mysql_query("$sql") or die (mysql_error()); $sql = "DELETE FROM xml_teams_worldrank_type"; mysql_query("$sql") or die (mysql_error()); $sql = "DELETE FROM xml_teams_years"; //mysql_query("$sql") or die (mysql_error());
file_ungzip("h:/boincstats-xml/".$updateproject."/24-07-2005/".$teamname, "h:/boincstats-xml/".$updateproject."/24-07-2005/team.xml"); $file = "h:/boincstats-xml/".$updateproject."/24-07-2005/team.xml"; $xml_parser = xml_parser_create(); xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, true); xml_set_element_handler($xml_parser, "startElement", "endElement"); xml_set_character_data_handler($xml_parser, "characterData"); xml_parse($xml_parser, load_data($file)) or die ("<P>Fejl ved parsing af XML!"); xml_parser_free($xml_parser);
// PURE INSERTIONS
$totalprojectteams=0;
$sql = "SELECT teamid, type, name, total_credit, expavg_credit, userid, founder_name, create_time, url, country FROM xml_teams_temp WHERE project = '".$updateproject."'";
$status=mysql_query("$sql") or die (mysql_error()); while ($row = mysql_fetch_array($status)){ echo "part one - /// ".$row['teamid']." /// "; // TEAM LIST $count=0;
$sql2 = "SELECT type FROM xml_teams_list WHERE (project = '".$updateproject."') AND (teamid = ".$row['teamid'].")";
$status2=mysql_query("$sql2") or die (mysql_error()); while ($row2 = mysql_fetch_array($status2)){
//$sql3 = "UPDATE xml_teams_list SET type = ".$row['type'].", name = \"".str_replace("'","\'",$row['name'])."\", userid = ".$row['userid'].", founder_name = \"".$row['founder_name']."\", url = \"".$row['url']."\", country = \"".$row['country']."\", create_time = \"".$row['create_time']."\" WHERE (teamid = ".$row['teamid'].") AND (project = \"".$updateproject."\")";
} if ($count<>1){ $sql3= "INSERT INTO xml_teams_list (teamid, type, name, userid, founder_name, create_time, url, country, added, project) VALUES (".$row['teamid'].", ".$row['type'].", \"".str_replace("'","\'",$row['name'])."\", ".$row['userid'].", \"".$row['founder_name']."\", \"".$row['create_time']."\", \"".$row['url']."\", \"".$row['country']."\", ".date("Ymd", $yesterday).", \"".$updateproject."\")"; $totalprojectteams+=1; //echo "opretter ".$row['teamid']."<br>"; mysql_query($sql3) or die (mysql_error()); }
// TOTAL CREDIT
$totalcredit=$row['total_credit']; //$sql3 = "INSERT INTO xml_teams_totalcredit (dato, total_credit, teamid, project) VALUES (".date("Ymd", $yesterday).", ".$row['total_credit'].", ".$row['teamid'].", '".$updateproject."')"; //$totalprojectcredit+=$row['total_credit']; //echo "- tilføjer credit<br>"; //mysql_query("$sql3") or die (mysql_error());
// RAC $teamrac=$row['expavg_credit']; //$sql3 = "INSERT INTO xml_teams_rac (dato, rac, teamid, project) VALUES (".date("Ymd", $yesterday).", ".$row['expavg_credit'].", ".$row['teamid'].", '".$updateproject."')"; //echo "- tilføjer rac<br>"; //mysql_query("$sql3") or die (mysql_error());
// NUSERS //$sql3 = "INSERT INTO xml_teams_nusers (dato, nusers, teamid, project) VALUES (".date("Ymd", $yesterday).", ".$row['nusers'].", ".$row['teamid'].", '".$updateproject."')"; //echo "- tilføjer nusers<br>"; //mysql_query("$sql3") or die (mysql_error());
// 122 AVERAGE RAC //$daycount=0; //$racsum=0; //$sql4 = "SELECT * FROM xml_teams_rac WHERE (teamid = ".$row['teamid'].") AND (project = '".$updateproject."') ORDER BY dato DESC LIMIT 122";
//$status4=mysql_query("$sql4") or die (mysql_error()); //while ($row4 = mysql_fetch_array($status4)){
// $racsum+=$row4['rac']; // $daycount+=1;
//} //$avgrac=$racsum/$daycount; //$sql3 = "UPDATE xml_teams_rac SET avg_rac = ".$avgrac." WHERE (teamid= ".$row['teamid'].") AND (dato = ".date("Ymd", $yesterday).") AND (project= '".$updateproject."')"; //echo "- tilføjer avg rac<br>"; //mysql_query("$sql3") or die (mysql_error());
// CREDIT DAY $daycount=Array(2); $x=0; $daytotal[0]=0; $daytotal[1]=0; $sql4 = "SELECT total_credit FROM xml_teams_totalcredit WHERE (project = '".$updateproject."') AND (teamid = ".$row['teamid'].") ORDER BY dato DESC LIMIT 2";
$status4=mysql_query("$sql4") or die (mysql_error()); while ($row4 = mysql_fetch_array($status4)){
$daytotal[$x]=$row4['total_credit']; $x+=1; //echo "credit at ".$row4['dato'].": ".$row4['total_credit']."<br>";
if ($day<>"Mon"){ $weekcount=0; $sql4 = "SELECT credit_week FROM xml_teams_credit_week WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $weekend).") AND (teamid = ".$row['teamid'].") ORDER BY dato DESC";
$status4=mysql_query("$sql4") or die (mysql_error()); while ($row4 = mysql_fetch_array($status4)){
$weektotal=$row4['credit_week']; $weekcount+=1;
} $weektotal2=$weektotal+$daycredit; //echo "this week yesterday: ".$weektotal." credit today: ".$daycredit." new week total: ".$weektotal2."<br>"; if ($weekcount>0){ $sql3 = "UPDATE xml_teams_credit_week SET credit_week = ".$weektotal2." WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $weekend).") AND (teamid = ".$row['teamid'].")"; //echo $sql3."<br>"; //echo "add to current week<br>"; }else{ $sql3 = "INSERT INTO xml_teams_credit_week (credit_week, dato, teamid, project) VALUES (".$daycredit.", ".date("Ymd", $weekend).", ".$row['teamid'].", '".$updateproject."')"; //echo $sql3."<br>"; //echo "start new week<br>"; } //echo "current week ends ".date("d D m Y",$weekend)."<br>"; }else{ //echo "this week yesterday: ".$weektotal." credit today: ".$daycredit." new week total: ".$daycredit."<br>"; $sql3 = "INSERT INTO xml_teams_credit_week (credit_week, dato, teamid, project) VALUES (".$daycredit.", ".date("Ymd", $weekend).", ".$row['teamid'].", '".$updateproject."')"; //echo $sql3."<br>"; //echo "start new week<br>"; //echo "new week ends ".date("d D m Y",$weekend)."<br>"; } //echo "- tilføjer credit week<br>"; mysql_query("$sql3") or die (mysql_error());
// CREDIT MONTH
if ($daydate<>1){ $monthcount=0; $sql4 = "SELECT credit_month FROM xml_teams_credit_month WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $thismonth).") AND (teamid = ".$row['teamid'].") ORDER BY dato DESC";
$status4=mysql_query("$sql4") or die (mysql_error()); while ($row4 = mysql_fetch_array($status4)){
} $monthtotal2=$monthtotal+$daycredit; //echo "this month yesterday: ".$monthtotal." credit today: ".$daycredit." new month total: ".$monthtotal2."<br>"; if ($monthcount>0){ $sql3 = "UPDATE xml_teams_credit_month SET credit_month = ".$monthtotal2." WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $thismonth).") AND (teamid = ".$row['teamid'].")"; // echo $sql3."<br>"; // echo "add to current month<br>"; }else{ $sql3 = "INSERT INTO xml_teams_credit_month (credit_month, dato, teamid, project) VALUES (".$daycredit.", ".date("Ymd", $thismonth).", ".$row['teamid'].", '".$updateproject."')"; // echo $sql3."<br>"; // echo "start new month<br>"; }
}else{ //echo "this month yesterday: ".$monthtotal." credit today: ".$daycredit." new month total: ".$daycredit."<br>"; $sql3 = "INSERT INTO xml_teams_credit_month (credit_month, dato, teamid, project) VALUES (".$daycredit.", ".date("Ymd", $thismonth).", ".$row['teamid'].", '".$updateproject."')"; //echo $sql3."<br>"; //echo "start new month<br>"; //echo "new week ends ".date("d D m Y",$weekend)."<br>"; } //echo $thismonth1." ".date("dmY",$thismonth)."<br>"; //echo "- tilføjer credit month<br>"; mysql_query("$sql3") or die (mysql_error());
// REMOVE CREDIT DAY (ONLY WHEN NEWLY ADDED OLDER PROJECT) // REMOVE CREDIT DAY (ONLY WHEN NEWLY ADDED OLDER PROJECT) // REMOVE CREDIT DAY (ONLY WHEN NEWLY ADDED OLDER PROJECT) // REMOVE CREDIT DAY (ONLY WHEN NEWLY ADDED OLDER PROJECT) //if ($row['teamid']<>34){ // $sql3 = "UPDATE xml_teams_credit_day SET credit_day = 0 WHERE (teamid = ".$row['teamid'].") AND (dato = ".date("Ymd", $yesterday).") AND (project = '".$updateproject."')"; // mysql_query("$sql3") or die (mysql_error()); //}
// AVERAGE DAY $creditsum=0; $daycountavg=0; $creditsum2=0; $daycount2=0; $creditsum3=0; $daycount3=0;
$sql4 = "SELECT credit_day FROM xml_teams_credit_day WHERE (project = '".$updateproject."') AND (teamid = ".$row['teamid'].") ORDER BY dato DESC LIMIT 0, 122"; //echo $sql4."<br>"; $status4=mysql_query("$sql4") or die (mysql_error()); while ($row4 = mysql_fetch_array($status4)){
$daycountavg++;
if ($daycountavg<31){ if ($daycountavg<8){ $daycount2++; $creditsum2=$creditsum2+$row4['credit_day']; } $daycount3++; $creditsum3=$creditsum3+$row4['credit_day']; }
// NUSERS CHANGE $daycount=Array(2); $x=0; $sql4 = "SELECT nusers FROM xml_teams_nusers WHERE (project = '".$updateproject."') AND (teamid = ".$row['teamid'].") ORDER BY dato DESC LIMIT 2";
$status4=mysql_query("$sql4") or die (mysql_error()); while ($row4 = mysql_fetch_array($status4)){
$usertotal[$x]=$row4['nusers']; $x+=1;
} $dayuser=$usertotal[0]-$usertotal[1]; //echo $dayuser." - 0: ",$usertotal[0]." - 1: ".$usertotal[1]."<br>"; $sql3 = "UPDATE xml_teams_nusers SET changed = ".$dayuser." WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") AND (teamid = ".$row['teamid'].")"; //echo $sql3."<br>"; //echo "- tilføjer nusers day<br>"; mysql_query("$sql3") or die (mysql_error());
// FLOPS //$sql4 = "SELECT * FROM xml_teams_average WHERE (teamid = ".$row['teamid'].") AND (dato = ".date("Ymd", $yesterday).") AND (project = '".$updateproject."')"; //echo $sql4."<br>"; //$status4=mysql_query("$sql4") or die (mysql_error()); //while ($row4 = mysql_fetch_array($status4)){
$gflops=$average122/100;
//} $sql3 = "INSERT INTO xml_teams_flops (gflops, dato, teamid, project) VALUES (".$gflops.", ".date("Ymd", $yesterday).", ".$row['teamid'].", '".$updateproject."')"; //echo $sql3."<br>"; //echo "- tilføjer flops<br>"; mysql_query("$sql3") or die (mysql_error());
// AVERAGE DAY 7 //$creditsum=0; //$creditsum2=0; //$daycount=0; //$daycount2=0;
//$sql4 = "SELECT * FROM xml_teams_credit_day WHERE (teamid = ".$row['teamid'].") AND (project = '".$updateproject."') ORDER BY dato DESC LIMIT 0, 30"; //echo $sql4."<br>"; //$status4=mysql_query("$sql4") or die (mysql_error()); //while ($row4 = mysql_fetch_array($status4)){
$sql3 = "INSERT INTO xml_teams_average_7 (dato, avg7, avg30, teamid, project) VALUES (".date("Ymd", $yesterday).", ".$avgday7.", ".$avgday30.", ".$row['teamid'].", '".$updateproject."')"; //echo $sql3."<br>"; //echo "- tilføjer avg day<br>"; mysql_query("$sql3") or die (mysql_error());
// AVERAGE DAY 30 //$creditsum=0; //$daycount=0;
//$sql4 = "SELECT * FROM xml_teams_credit_day WHERE (teamid = ".$row['teamid'].") AND (project = '".$updateproject."') ORDER BY dato DESC LIMIT 0, 30"; //echo $sql4."<br>"; //$status4=mysql_query("$sql4") or die (mysql_error()); //while ($row4 = mysql_fetch_array($status4)){
//$sql3 = "UPDATE xml_teams_average_7 SET avg30 = ".$avgday30." WHERE (dato = ".date("Ymd", $yesterday).") AND (teamid = ".$row['teamid'].") AND (project = '".$updateproject."')"; //echo $sql3."<br>"; //echo "- tilføjer avg day 7 & 30<br>"; //mysql_query("$sql3") or die (mysql_error());
// YEARS TOTAL $yearstotal=((((($totalcredit*1728000)/(1000+1000))/60)/60)/24)/365; //echo "total ".$yearstotal;
// YEARS DAILY $yearsdaily=(((((($daycredit)*1728000)/(1000+1000))/60)/60)/24)/365; //echo " daily ".$yearsdaily;
// YEARS AVERAGE $yearsavg=((((((($average122)*1728000)/(1000+1000))/60)/60)/24)/365); //echo " avg ".$yearsdaily."<br>";
$sql3 = "INSERT INTO xml_teams_years (dato, total, day, average, teamid, project) VALUES (".date("Ymd", $yesterday).", ".$yearstotal.", ".$yearsdaily.", ".$yearsavg.", ".$row['teamid'].", '".$updateproject."')"; //echo $sql3."<br>"; //echo "- tilføjer years total, daily & avg<br>"; mysql_query("$sql3") or die (mysql_error());
//echo "predictions by avg122 : tomorrow: ".$pred_t_122." in 7 days: ".$pred_7_122." in 30 days: ".$pred_30_122."<br>"; //echo "predictions by avg7 : tomorrow: ".$pred_t_7." in 7 days: ".$pred_7_7." in 30 days: ".$pred_30_7."<br>"; //echo "predictions by rac : tomorrow: ".$pred_t_rac." in 7 days: ".$pred_7_rac." in 30 days: ".$pred_30_rac."<br>";
//echo "- genererer temp predictions for ".$row3['teamid']."<br>"; mysql_query("$sql5") or die (mysql_error());
} // WORLD RANK CREDIT $sql4 = "SELECT teamid FROM xml_teams_totalcredit WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") ORDER BY total_credit DESC"; $totalcreditrank=0;
$status4=mysql_query("$sql4") or die (mysql_error()); while ($row4 = mysql_fetch_array($status4)){
$totalcreditrank+=1; echo "part two - /// ".$totalcreditrank." /// "; //echo $row4['teamid']." is ranked at ".$totalcreditrank." as a result of having ".$row4['total_credit']." credits<br>"; $sql3 = "INSERT INTO xml_teams_worldrank (worldrank, dato, teamid, project) VALUES (".$totalcreditrank.", ".date("Ymd", $yesterday).", ".$row4['teamid'].", '".$updateproject."')"; //echo $sql3."<br>";
//echo "- tilføjer total credit world rank for ".$row4['teamid']."<br>"; mysql_query("$sql3") or die (mysql_error());
}
// get amount of teams $result9=mysql_query("SELECT Count(id) AS Antal FROM xml_teams_list WHERE project = '".$updateproject."'"); $row9 = mysql_fetch_assoc($result9); $teamcount = $row9['Antal']; echo "<br>".$teamcount."<br>";
$sql3 = "SELECT teamid FROM xml_teams_list WHERE project = '".$updateproject."'";
$status3=mysql_query("$sql3") or die (mysql_error()); while ($row3 = mysql_fetch_array($status3)){ echo "part three - /// ".$row3['teamid']." /// "; // WORLD RANK CREDIT CHANGE $dayrank=array(2); $dayrank[0]=0; $dayrank[1]=0; $x=0; $sql4 = "SELECT worldrank FROM xml_teams_worldrank WHERE (project = '".$updateproject."') AND (teamid = ".$row3['teamid'].") ORDER BY dato DESC LIMIT 2"; //echo $sql4."<br>"; $status4=mysql_query("$sql4") or die (mysql_error()); while ($row4 = mysql_fetch_array($status4)){
$dayrank[$x]=$row4['worldrank']; //echo "rank at ".$row4['dato'].": ".$dayrank[$x]."<br>"; $x+=1;
} $rankchange=$dayrank[1]-$dayrank[0]; $sql5 = "UPDATE xml_teams_worldrank SET changed = ".$rankchange." WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") AND (teamid = ".$row3['teamid'].")"; //echo $sql5."<br>"; mysql_query("$sql5") or die (mysql_error()); //echo "- tilføjer worldrank change for ".$row3['teamid']."<br>";
// MORE THAN ALL $morethanall=(($teamcount-$dayrank[0])/$teamcount)*100; //echo $dayrank[0]." ".$teamcount." ".$morethanall."<br>"; $sql5 = "INSERT INTO xml_teams_morethanall (morethan, dato, teamid, project) VALUES (".$morethanall.", ".date("Ymd", $yesterday).", ".$row3['teamid'].", '".$updateproject."')"; //echo $sql5."<br>";
//echo "- tilføjer more than all for ".$row3['teamid']."<br>"; mysql_query("$sql5") or die (mysql_error());
}
// TEAM FORECASTS $tomorrowdate=mktime(0, 0, 0, date("m") , date("d"), date("Y")); $sevendate=mktime(0, 0, 0, date("m") , date("d")+6, date("Y")); $thirtydate=mktime(0, 0, 0, date("m") , date("d")+29, date("Y")); $sql4 = "SELECT teamid FROM xml_teams_forecast_temp WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") ORDER BY tomorrow122 DESC"; $totalcreditrank=0;
$status4=mysql_query("$sql4") or die (mysql_error()); while ($row4 = mysql_fetch_array($status4)){
$totalcreditrank+=1; echo "part four - /// ".$totalcreditrank." /// "; //echo $row4['teamid']." is predicted to rank at ".$totalcreditrank." as a result of having ".$row4['tomorrow122']." credits at date: ".date("Y-md-", $tomorrowdate)." (122)<br>"; $teamidarray_t_122[$row4['teamid']]=$totalcreditrank;
//$sql3 = "UPDATE xml_teams_worldrank SET forecast_t_a_122 =".$totalcreditrank." WHERE (project = '".$updateproject."') AND (teamid = ".$row4['teamid'].") AND (dato = ".date("Ymd", $yesterday).")"; //echo $sql3."<br>";
//echo "- tilføjer total credit world rank for ".$row4['teamid']."<br>"; //mysql_query("$sql3") or die (mysql_error());
} $sql4 = "SELECT teamid FROM xml_teams_forecast_temp WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") ORDER BY tomorrow7 DESC"; $totalcreditrank=0;
$status4=mysql_query("$sql4") or die (mysql_error()); while ($row4 = mysql_fetch_array($status4)){
$totalcreditrank+=1; echo "part five - /// ".$totalcreditrank." /// "; //echo $row4['teamid']." is predicted to rank at ".$totalcreditrank." as a result of having ".$row4['tomorrow7']." credits at date: ".date("Y-m-d", $tomorrowdate)." (7)<br>"; $teamidarray_t_7[$row4['teamid']]=$totalcreditrank;
//$sql3 = "UPDATE xml_teams_worldrank SET forecast_t_a_7 =".$totalcreditrank." WHERE (project = '".$updateproject."') AND (teamid = ".$row4['teamid'].") AND (dato = ".date("Ymd", $yesterday).")"; //$sql3 = "INSERT INTO xml_teams_worldrank (worldrank, dato, teamid, project) VALUES (".$totalcreditrank.", ".date("Ymd", $yesterday).", ".$row4['teamid'].", '".$updateproject."')"; //echo $sql3."<br>";
//echo "- tilføjer total credit world rank for ".$row4['teamid']."<br>"; //mysql_query("$sql3") or die (mysql_error());
} $sql4 = "SELECT teamid FROM xml_teams_forecast_temp WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") ORDER BY tomorrowrac DESC"; $totalcreditrank=0;
$status4=mysql_query("$sql4") or die (mysql_error()); while ($row4 = mysql_fetch_array($status4)){
$totalcreditrank+=1; echo "part six - /// ".$totalcreditrank." /// "; //echo $row4['teamid']." is predicted to rank at ".$totalcreditrank." as a result of having ".$row4['tomorrowrac']." credits at date: ".date("Y-m-d", $tomorrowdate)." (rac)<br>"; $teamidarray_t_rac[$row4['teamid']]=$totalcreditrank;
//$sql3 = "UPDATE xml_teams_worldrank SET forecast_t_rac =".$totalcreditrank." WHERE (project = '".$updateproject."') AND (teamid = ".$row4['teamid'].") AND (dato = ".date("Ymd", $yesterday).")"; //$sql3 = "INSERT INTO xml_teams_worldrank (worldrank, dato, teamid, project) VALUES (".$totalcreditrank.", ".date("Ymd", $yesterday).", ".$row4['teamid'].", '".$updateproject."')"; //echo $sql3."<br>";
//echo "- tilføjer total credit world rank for ".$row4['teamid']."<br>"; //mysql_query("$sql3") or die (mysql_error());
} $sql4 = "SELECT teamid FROM xml_teams_forecast_temp WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") ORDER BY seven122 DESC"; $totalcreditrank=0;
$status4=mysql_query("$sql4") or die (mysql_error()); while ($row4 = mysql_fetch_array($status4)){
$totalcreditrank+=1; echo "part seven - /// ".$totalcreditrank." /// "; //echo $row4['teamid']." is predicted to rank at ".$totalcreditrank." as a result of having ".$row4['seven122']." credits at date: ".date("Y-m-d", $sevendate)." (122)<br>"; $teamidarray_7_122[$row4['teamid']]=$totalcreditrank;
//$sql3 = "UPDATE xml_teams_worldrank SET forecast_7_a_122 =".$totalcreditrank." WHERE (project = '".$updateproject."') AND (teamid = ".$row4['teamid'].") AND (dato = ".date("Ymd", $yesterday).")"; //$sql3 = "INSERT INTO xml_teams_worldrank (worldrank, dato, teamid, project) VALUES (".$totalcreditrank.", ".date("Ymd", $yesterday).", ".$row4['teamid'].", '".$updateproject."')"; //echo $sql3."<br>";
//echo "- tilføjer total credit world rank for ".$row4['teamid']."<br>"; //mysql_query("$sql3") or die (mysql_error());
} $sql4 = "SELECT teamid FROM xml_teams_forecast_temp WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") ORDER BY seven7 DESC"; $totalcreditrank=0;
$status4=mysql_query("$sql4") or die (mysql_error()); while ($row4 = mysql_fetch_array($status4)){
$totalcreditrank+=1; echo "part eight - /// ".$totalcreditrank." /// "; //echo $row4['teamid']." is predicted to rank at ".$totalcreditrank." as a result of having ".$row4['seven7']." credits at date: ".date("Y-m-d", $sevendate)." (7)<br>"; $teamidarray_7_7[$row4['teamid']]=$totalcreditrank;
//$sql3 = "UPDATE xml_teams_worldrank SET forecast_7_a_7 =".$totalcreditrank." WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") AND (teamid = ".$row4['teamid'].")"; //$sql3 = "INSERT INTO xml_teams_worldrank (worldrank, dato, teamid, project) VALUES (".$totalcreditrank.", ".date("Ymd", $yesterday).", ".$row4['teamid'].", '".$updateproject."')"; //echo $sql3."<br>";
//echo "- tilføjer total credit world rank for ".$row4['teamid']."<br>"; //mysql_query("$sql3") or die (mysql_error());
} $sql4 = "SELECT teamid FROM xml_teams_forecast_temp WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") ORDER BY sevenrac DESC"; $totalcreditrank=0;
$status4=mysql_query("$sql4") or die (mysql_error()); while ($row4 = mysql_fetch_array($status4)){
$totalcreditrank+=1; echo "part nine - /// ".$totalcreditrank." /// "; //echo $row4['teamid']." is predicted to rank at ".$totalcreditrank." as a result of having ".$row4['sevenrac']." credits at date: ".date("Y-m-d", $sevendate)." (rac)<br>"; $teamidarray_7_rac[$row4['teamid']]=$totalcreditrank;
//$sql3 = "UPDATE xml_teams_worldrank SET forecast_7_rac =".$totalcreditrank." WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") AND (teamid = ".$row4['teamid'].")"; //$sql3 = "INSERT INTO xml_teams_worldrank (worldrank, dato, teamid, project) VALUES (".$totalcreditrank.", ".date("Ymd", $yesterday).", ".$row4['teamid'].", '".$updateproject."')"; //echo $sql3."<br>";
//echo "- tilføjer total credit world rank for ".$row4['teamid']."<br>"; //mysql_query("$sql3") or die (mysql_error());
} $sql4 = "SELECT teamid FROM xml_teams_forecast_temp WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") ORDER BY thirty122 DESC"; $totalcreditrank=0;
$status4=mysql_query("$sql4") or die (mysql_error()); while ($row4 = mysql_fetch_array($status4)){
$totalcreditrank+=1; echo "part ten - /// ".$totalcreditrank." /// "; //echo $row4['teamid']." is predicted to rank at ".$totalcreditrank." as a result of having ".$row4['thirty122']." credits at date: ".date("Y-m-d", $thirtydate)." (122)<br>"; $teamidarray_30_122[$row4['teamid']]=$totalcreditrank;
//$sql3 = "UPDATE xml_teams_worldrank SET forecast_30_a_122 =".$totalcreditrank." WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") AND (teamid = ".$row4['teamid'].")"; //$sql3 = "INSERT INTO xml_teams_worldrank (worldrank, dato, teamid, project) VALUES (".$totalcreditrank.", ".date("Ymd", $yesterday).", ".$row4['teamid'].", '".$updateproject."')"; //echo $sql3."<br>";
//echo "- tilføjer total credit world rank for ".$row4['teamid']."<br>"; //mysql_query("$sql3") or die (mysql_error());
} $sql4 = "SELECT teamid FROM xml_teams_forecast_temp WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") ORDER BY thirty7 DESC"; $totalcreditrank=0;
$status4=mysql_query("$sql4") or die (mysql_error()); while ($row4 = mysql_fetch_array($status4)){
$totalcreditrank+=1; echo "part eleven - /// ".$totalcreditrank." /// "; //echo $row4['teamid']." is predicted to rank at ".$totalcreditrank." as a result of having ".$row4['thirty7']." credits at date: ".date("Y-m-d", $thirtydate)." (7)<br>"; $teamidarray_30_7[$row4['teamid']]=$totalcreditrank;
//$sql3 = "UPDATE xml_teams_worldrank SET forecast_30_a_7 =".$totalcreditrank." WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") AND (teamid = ".$row4['teamid'].")"; //$sql3 = "INSERT INTO xml_teams_worldrank (worldrank, dato, teamid, project) VALUES (".$totalcreditrank.", ".date("Ymd", $yesterday).", ".$row4['teamid'].", '".$updateproject."')"; //echo $sql3."<br>";
//echo "- tilføjer total credit world rank for ".$row4['teamid']."<br>"; //mysql_query("$sql3") or die (mysql_error());
} $sql4 = "SELECT teamid FROM xml_teams_forecast_temp WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") ORDER BY thirtyrac DESC"; $totalcreditrank=0;
$status4=mysql_query("$sql4") or die (mysql_error()); while ($row4 = mysql_fetch_array($status4)){
$totalcreditrank+=1; echo "part twelve - /// ".$totalcreditrank." /// "; //echo $row4['teamid']." is predicted to rank at ".$totalcreditrank." as a result of having ".$row4['thirtyrac']." credits at date: ".date("Y-m-d", $thirtydate)." (rac)<br>"; $teamidarray_30_rac[$row4['teamid']]=$totalcreditrank;
//$sql3 = "UPDATE xml_teams_worldrank SET forecast_30_rac =".$totalcreditrank." WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") AND (teamid = ".$row4['teamid'].")"; //$sql3 = "INSERT INTO xml_teams_worldrank (worldrank, dato, teamid, project) VALUES (".$totalcreditrank.", ".date("Ymd", $yesterday).", ".$row4['teamid'].", '".$updateproject."')"; //echo $sql3."<br>";
//echo "- tilføjer total credit world rank for ".$row4['teamid']."<br>"; //mysql_query("$sql3") or die (mysql_error());
}
echo $totalcreditrank."<br>"; //$x=0; $sql4 = "SELECT * FROM xml_teams_forecast_temp WHERE (dato = ".date("Ymd", $yesterday).") AND (project = '".$updateproject."')"; $totalcreditrank=0;
$status4=mysql_query("$sql4") or die (mysql_error()); while ($row4 = mysql_fetch_array($status4)){
//echo "(".$teamidarray_t_122[$x]." ".$teamidarray_t_7[$x]." ".$teamidarray_t_rac[$x]."/".$teamidarray_7_122[$x]." ".$teamidarray_7_7[$x]." ".$teamidarray_7_rac[$x]."/".$teamidarray_30_122[$x]." ".$teamidarray_30_7[$x]." ".$teamidarray_30_rac[$x].") - "; $sql5 = "UPDATE xml_teams_worldrank SET forecast_t_a_122 =".$teamidarray_t_122[$row4['teamid']].", forecast_t_a_7=".$teamidarray_t_7[$row4['teamid']].", forecast_t_rac=".$teamidarray_t_rac[$row4['teamid']].", forecast_7_a_122=".$teamidarray_7_122[$row4['teamid']].", forecast_7_a_7=".$teamidarray_7_7[$row4['teamid']].", forecast_7_rac=".$teamidarray_7_rac[$row4['teamid']].", forecast_30_a_122=".$teamidarray_30_122[$row4['teamid']].", forecast_30_a_7=".$teamidarray_30_7[$row4['teamid']].", forecast_30_rac=".$teamidarray_30_rac[$row4['teamid']]." WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") AND (teamid = ".$row4['teamid'].")"; //echo $sql5."<br>";
echo "- tilføjer rank predictions for ".$row4['teamid']."<br>"; mysql_query("$sql5") or die (mysql_error()); }
//echo "<br>".$totalcreditrank."<br>";
$sql5 = "UPDATE xml_project_totals SET totalprojectcredit_team = ".$totalprojectcredit.", totalnumberteams = ".$totalprojectteams." WHERE (dato = ".date("Ymd", $yesterday).") AND (project = '".$updateproject."')"; //echo $sql5."<br>";
echo "- tilføjer team totals for project ".$updateproject."<br>"; mysql_query("$sql5") or die (mysql_error());
mysql_query("UPDATE runtimes SET endtime = NOW() WHERE (stattype = 'teams') AND (project = '".$updateproject."')");
$result2=mysql_query("SELECT Count(id) AS Antal FROM xml_teams_list WHERE (project = '".$updateproject."') AND (teamid = ".$row['teamid'].")"); $row2 = mysql_fetch_assoc($result2); $count = $row2['Antal']; //$sql2 = "SELECT type FROM xml_teams_list WHERE (project = '".$updateproject."') AND (teamid = ".$row['teamid'].")";
//$status2=mysql_query("$sql2") or die (mysql_error()); //while ($row2 = mysql_fetch_array($status2)){
//$sql3 = "UPDATE xml_teams_list SET type = ".$row['type'].", name = \"".str_replace("'","\'",$row['name'])."\", userid = ".$row['userid'].", founder_name = \"".$row['founder_name']."\", url = \"".$row['url']."\", country = \"".$row['country']."\", create_time = \"".$row['create_time']."\" WHERE (teamid = ".$row['teamid'].") AND (project = \"".$updateproject."\")";
åhh, ja. xml_teams_list er pt på 52272, og øges med under 100 om dagen (planlagt én gang om dagen, når jeg er kommet up-to-date). De øvrige, med undtagelse af xml_teams_week/month, øges med det antal hver dag (igen planlagt én gang om dagen).
Indeksering, er det noget jeg kan trigger selv, og i så fald hvordan?
Nå, jeg fandt ud af at indexere, og det skar ca. 10 timer af tiden. Jeg fik kørt 5 dages data igennem - men nu hvor den er igang med 6. dagen, ser det ud til at den er blevet lige så langsom igen.
Det er en stot klump kode du har, og jeg kan desværre ikke overskue den. Umiddelbart ville jeg tilråde at du skære den op i nogle mindre og mere overskuelige logiske bidder.
har jeg også tænkt på. det må blot bliver efter installering og afprøvning af den nye ram. Jeg har iøvrigt heller ikke fået fjernet al den gamle udkommenterede kode der er der
Det var nu ikke fordi at jeg har vildt meget brug for point, men det er nu altså høfligt at sige tak og den slags i stedet for bare at *boom* lukke spørgsmålet og tage point tilbage.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.