Hallo!
Das Script läuft zwar odrnungsgemäß, doch bei 1000 partien wird es
doch sehr langsam, und braucht ca. 5 sec., meine anderen scripte
laufen trotz ähnlicher abarbeitungsgröße doch um einiges schneller.
Könnt ihr mir ein paar Tuning Tipps geben?
Das Script läuft zwar odrnungsgemäß, doch bei 1000 partien wird es
doch sehr langsam, und braucht ca. 5 sec., meine anderen scripte
laufen trotz ähnlicher abarbeitungsgröße doch um einiges schneller.
Könnt ihr mir ein paar Tuning Tipps geben?
PHP-Code:
<?php
include("connect.inc.php");
require("config.php");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Unbenanntes Dokument</title>
</head>
<body>
<?php
$query = "UPDATE spieler SET effizienz='' WHERE auf=''";
mysql_query($query) or die ("MySQL-Fehler mit $query
" . mysql_error());
$sql = "SELECT * FROM spieler WHERE auf!='0'";
$result = mysql_query($sql) OR die(mysql_error());
while($row = mysql_fetch_assoc($result)) {
$torwart_effizienz[$row['ID']] = $row['torwart']*15 + $row['kondition'] - (100-$row['moti']);
$verteidiger_effizienz[$row['ID']] = $row['verteidigung']*10 + $row['passspiel']*2 + $row['kondition']*2 - (100-$row['moti']);
$mittelfeldspieler_effizienz[$row['ID']] = $row['spielaufbau']*6 + $row['passspiel']*4 + $row['kondition']*4 - (100-$row['moti']);
$angreifer_effizienz[$row['ID']] = $row['torschuss']*10 + $row['passspiel']*2 + $row['kondition']*2 - (100-$row['moti']);
}
foreach($torwart_effizienz as $spielerid => $value) {
$query2 = "UPDATE spieler SET effizienz='$value'-('$value'/5) WHERE ID='$spielerid' AND auf='TW' AND position!='TW'";
mysql_query($query2) or die ("MySQL-Fehler mit $query2
" . mysql_error());
$query2 = "UPDATE spieler SET effizienz='$value' WHERE ID='$spielerid' AND auf='TW' AND position='TW'";
mysql_query($query2) or die ("MySQL-Fehler mit $query2
" . mysql_error());
}
foreach($verteidiger_effizienz as $spielerid2 => $value2) {
$query3 = "UPDATE spieler SET effizienz='$value2'-('$value2'/10) WHERE ID='$spielerid2' AND auf='VERT' AND position!='VERT'";
mysql_query($query3) or die ("MySQL-Fehler mit $query3
" . mysql_error());
$query4 = "UPDATE spieler SET effizienz='$value2' WHERE ID='$spielerid2' AND auf='VERT' AND position='VERT'";
mysql_query($query4) or die ("MySQL-Fehler mit $query4
" . mysql_error());
}
foreach($mittelfeldspieler_effizienz as $spielerid3 => $value3) {
$query5 = "UPDATE spieler SET effizienz='$value3'-('$value3'/10) WHERE ID='$spielerid3' AND auf='MF' AND position!='MF'";
mysql_query($query5) or die ("MySQL-Fehler mit $query5
" . mysql_error());
$query6 = "UPDATE spieler SET effizienz='$value3' WHERE ID='$spielerid3' AND auf='MF' AND position='MF'";
mysql_query($query6) or die ("MySQL-Fehler mit $query6
" . mysql_error());
}
foreach($angreifer_effizienz as $spielerid4 => $value4) {
$query7 = "UPDATE spieler SET effizienz='$value4'-('$value4'/10) WHERE ID='$spielerid4' AND auf='ANG' AND position!='ANG'";
mysql_query($query7) or die ("MySQL-Fehler mit $query7
" . mysql_error());
$query8 = "UPDATE spieler SET effizienz='$value4' WHERE ID='$spielerid4' AND auf='ANG' AND position='ANG'";
mysql_query($query8) or die ("MySQL-Fehler mit $query8
" . mysql_error());
}
$sql4 = "SELECT saison,woche FROM aktuelles";
$result4 = MYSQL_QUERY($sql4);
if(!$result4) echo MYSQL_ERROR();
$row4 = MYSQL_FETCH_ASSOC($result4);
$aktuelle_saison = $row4['saison'];
$aktuelle_woche = $row4['woche'];
$sql2 = "SELECT heimverein,gastverein FROM partien WHERE saison='$aktuelle_saison' AND spieltag='$aktuelle_woche'";
$result2 = mysql_query($sql2) OR die(mysql_error());
while($row2 = mysql_fetch_assoc($result2)) {
$heimverein[] = $row2['heimverein'];
$gastverein[] = $row2['gastverein'];
}
foreach($heimverein as $h_verein) {
$sql5 = "SELECT Sum(effizienz) As effizienz FROM spieler WHERE verein='$h_verein'";
$result5 = mysql_query($sql5) OR die(mysql_error());
while($row5 = mysql_fetch_assoc($result5)) {
$vereinseffizienz[$h_verein] = $row5[effizienz];
}
}
foreach($vereinseffizienz as $verein => $effizienz) {
$sql555 = "SELECT vereinsname,auf_anzahl FROM vereine WHERE vereinsname='$h_verein'";
$result555 = mysql_query($sql555) OR die(mysql_error());
while($row555 = mysql_fetch_assoc($result555)) {
$spieleranzahl[$heimaufstellung] = $row555['auf_anzahl'];
}
$query999 = "UPDATE partien SET h_effizienz='$effizienz' WHERE h_auf_anzahl='11' AND heimverein='$verein' AND saison='$aktuelle_saison' AND spieltag='$aktuelle_woche'";
mysql_query($query999) or die ("MySQL-Fehler mit $query999
" . mysql_error());
$query222 = "UPDATE partien SET h_effizienz='0' WHERE h_auf_anzahl!='11' AND heimverein='$verein' AND saison='$aktuelle_saison' AND spieltag='$aktuelle_woche'";
mysql_query($query222) or die ("MySQL-Fehler mit $query222
" . mysql_error());
}
foreach($gastverein as $g_verein) {
$sql44= "SELECT Sum(effizienz) As effizienz2 FROM spieler WHERE verein='$g_verein'";
$result44 = mysql_query($sql44) OR die(mysql_error());
while($row44 = mysql_fetch_assoc($result44)) {
$vereinseffizienz2[$g_verein] = $row44[effizienz2];
}
foreach($vereinseffizienz2 as $verein2 => $effizienz2) {
$query888 = "UPDATE partien SET g_effizienz='$effizienz2' WHERE g_auf_anzahl='11' AND gastverein='$verein2' AND saison='$aktuelle_saison' AND spieltag='$aktuelle_woche'";
mysql_query($query888) or die ("MySQL-Fehler mit $query888
" . mysql_error());
$query222 = "UPDATE partien SET g_effizienz='0' WHERE g_auf_anzahl!='11' AND gastverein='$verein2' AND saison='$aktuelle_saison' AND spieltag='$aktuelle_woche'";
mysql_query($query222) or die ("MySQL-Fehler mit $query222
" . mysql_error());
}
}
?>
<?php
$sql123 = "SELECT * FROM partien WHERE saison='$aktuelle_saison' AND spieltag='$aktuelle_woche' AND ergb_h='-1' AND ergb_g='-1'";
$result123 = mysql_query($sql123) OR die(mysql_error());
echo $row123['partieid'];
while($row123 = mysql_fetch_assoc($result123)) {
echo $unterschied[$row123['partieid']] = $row123['h_effizienz']-$row123['g_effizienz'];
}
foreach($unterschied as $partieid => $differenz) {
echo $differenz;
$query = "UPDATE partien SET differenz=$differenz WHERE partieid='$partieid'";
mysql_query($query) or die ("MySQL-Fehler mit $query
" . mysql_error());
}
?>
</body>
</html>

Kommentar