Sapreste darmi aiuto riguardo il codice seguente? La pagina che lo contiene viene caricata davvero molto lentamente, anche un minuto. Ecco il codice:
codice:
$query = mysql_query("SELECT Data_anno FROM database_stazioni WHERE id_stazione = '" .$cat. "' AND tipo_dato in (8,2) GROUP BY Data_anno ORDER BY Data_anno DESC ",$conn);
if(mysql_num_rows($query) > 0) {
while($riga_c=mysql_fetch_array($query)) {
$y = $riga_c['Data_anno'];
$query6 = mysql_query("SELECT localita FROM stazioni WHERE id='" .$cat. "'",$conn);
$risultato = mysql_fetch_assoc($query6);
$saltariga=0;
$query3 = mysql_query("SELECT COUNT(id),AVG(temp),AVG(ur),AVG(wind),AVG(pressione),SUM(pioggia) FROM database_stazioni WHERE id_stazione = '" .$cat. "' AND tipo_dato = '5' AND Data_anno = '" .$y. "' ",$conn);
$risultato3 = mysql_fetch_assoc($query3);
$queryOFF = mysql_query("SELECT SUM(pioggia) FROM database_stazioni WHERE id_stazione = '" .$cat. "' AND tipo_dato = '14' AND Data_anno = '" .$y. "' ",$conn);
$risultatoOFF = mysql_fetch_assoc($queryOFF);
$query4 = mysql_query("SELECT MIN(temp),MAX(temp) FROM database_stazioni WHERE id_stazione = '" .$cat. "' AND tipo_dato = '6' AND Data_anno = '" .$y. "' ",$conn);
$risultato4 = mysql_fetch_assoc($query4);
$query5 = mysql_query("SELECT MAX(temp) FROM database_stazioni WHERE id_stazione = '" .$cat. "' AND tipo_dato = '7' AND Data_anno = '" .$y. "' ",$conn);
$risultato5 = mysql_fetch_assoc($query5);
$query19 = mysql_query("SELECT COUNT(ID) FROM (
SELECT ID FROM database_stazioni WHERE `id_stazione` = '" .$cat. "' AND `Data_anno`= '" .$y. "' AND `Data_mese` = 1 and tipo_dato in (8,2)
GROUP BY `Data_giorno`
UNION
SELECT ID FROM database_stazioni WHERE `id_stazione` = '" .$cat. "' AND `Data_anno`= '" .$y. "' AND `Data_mese` = 2 and tipo_dato in (8,2)
GROUP BY `Data_giorno`
UNION
SELECT ID FROM database_stazioni WHERE `id_stazione` = '" .$cat. "' AND `Data_anno`= '" .$y. "' AND `Data_mese` = 3 and tipo_dato in (8,2)
GROUP BY `Data_giorno`
UNION
SELECT ID FROM database_stazioni WHERE `id_stazione` = '" .$cat. "' AND `Data_anno`= '" .$y. "' AND `Data_mese` = 4 and tipo_dato in (8,2)
GROUP BY `Data_giorno`
UNION
SELECT ID FROM database_stazioni WHERE `id_stazione` = '" .$cat. "' AND `Data_anno`= '" .$y. "' AND `Data_mese` = 5 and tipo_dato in (8,2)
GROUP BY `Data_giorno`
UNION
SELECT ID FROM database_stazioni WHERE `id_stazione` = '" .$cat. "' AND `Data_anno`= '" .$y. "' AND `Data_mese` = 6 and tipo_dato in (8,2)
GROUP BY `Data_giorno`
UNION
SELECT ID FROM database_stazioni WHERE `id_stazione` = '" .$cat. "' AND `Data_anno`= '" .$y. "' AND `Data_mese` = 7 and tipo_dato in (8,2)
GROUP BY `Data_giorno`
UNION
SELECT ID FROM database_stazioni WHERE `id_stazione` = '" .$cat. "' AND `Data_anno`= '" .$y. "' AND `Data_mese` = 8 and tipo_dato in (8,2)
GROUP BY `Data_giorno`
UNION
SELECT ID FROM database_stazioni WHERE `id_stazione` = '" .$cat. "' AND `Data_anno`= '" .$y. "' AND `Data_mese` = 9 and tipo_dato in (8,2)
GROUP BY `Data_giorno`
UNION
SELECT ID FROM database_stazioni WHERE `id_stazione` = '" .$cat. "' AND `Data_anno`= '" .$y. "' AND `Data_mese` = 10 and tipo_dato in (8,2)
GROUP BY `Data_giorno`
UNION
SELECT ID FROM database_stazioni WHERE `id_stazione` = '" .$cat. "' AND `Data_anno`= '" .$y. "' AND `Data_mese` = 11 and tipo_dato in (8,2)
GROUP BY `Data_giorno`
UNION
SELECT ID FROM database_stazioni WHERE `id_stazione` = '" .$cat. "' AND `Data_anno`= '" .$y. "' AND `Data_mese` = 12 and tipo_dato in (8,2)
GROUP BY `Data_giorno`
)tempdb",$conn);
$risultato19 = mysql_fetch_assoc($query19);
}
}
La tabella database_stazioni contiene circa 2 milioni di record.
Se eseguo dal pannello MySQL le singole query il tutto avviene molto velocemente (pochi deccondi di secondi per ognuna), il problema sta nel trasportare le query su php, i tempi si dilatano a dismisura...
Spero abbiate buoni consigli!!
grazie in anticipo a tutti