Dopo alcune veloci prove posso dire che la colpa è del mysql.
Ad esempio per fare questa funzione:
Codice PHP:
function estremi_settimana($week,$anno,$link,$db)
{
$timestamp = mktime (0,0,0,1 ,1,$anno);
// cerca le date relative ad una settimana 0-52
$bisestile = date('L',$timestamp);//1 o 0 a seconda se sia o meno bisestile
if ($bisestile)
$diff = "366"; // giorni per un anno se bisestile 1 in +
else
$diff = "365";
$data_in= "$anno-01-01"; // data inizio fill up
$database = mysql_select_db($db) or die ("Error su riga:".__LINE__." ".mysql_error());;
mysql_query("create temporary table proviamo (
id INT(4) not null auto_increment,
data date not null,
KEY `data` (`data`),
primary key(id))") or die (mysql_error());
$num = "0";
for ($i=1; $i<=$diff; ++$i )
{
$action = "INSERT INTO proviamo SET data = '$data_in' + interval $num day" or die ("Error su riga:".__LINE__." ".mysql_error());
$query = mysql_query($action, $link);
$num = $num + 1;
}
$action1 = "Select DATE_FORMAT(data, '%d/%m/%Y') as data1 from proviamo where week(data,1) = '$week'";
$query1 = mysql_query($action1, $link) or die ("Error su riga:".__LINE__." ".mysql_error());
while ($res = mysql_fetch_array($query1))
{
$data = $res['data1'];
list($giorno,$mese,$anno) = explode('/',$data);
$giorno_settimana = day( strftime("%w",mktime (0,0,0,$mese,$giorno,$anno)));//LUN MAR etc
$settimana[$giorno_settimana] = $data;
}
return($settimana);
}
ci mette 11 secondi ossia un'eternità, mentre con il vecchio server appena 0.09.
A cosa può essere dovuto questo problema? Ho instllato il mysql con una configurazione standard, nulla di particolare.
Grazie per l'aiuto