Uutiset:

13.10.2024
PALAUTUMISTIEDOTE

FinWX:n palvelut katkesivat hetkellisesti 13.10.2024. FinWX:n web-serveri palautettu vuorokautta aikaisempaan tilanteeseensa.
Lue häiriötilanteesta lisää täältä.

FinWX:n ylläpito pahoittelee katkoksen aiheuttamaa häiriötä.

Main Menu

Tietokannan uudelleenrakentelu

Aloittaja weatherc, maanantai, 12.09.2011, 23:01

« edellinen - seuraava »

0 Jäsenet ja 1 Vieras katselee tätä aihetta.

weatherc

#20
Noin, kehissä on  ;D

Nyt ainut manuaalinen toimi noissa kahdessa sivuissa on vuodenajat mutta sitä nyt ei tarvikkaan olla automaaginen.  ;D
Lisäsin samalla pari uutta "kuinka monta päivää alle x astetta" rivin niin että nyt on 5 asteen väelin -20:sta +25:iin.

Seuraava onkin trendit-sivu :)
Sen jälkeen voikin harrastaa radikaalista siivoamaista WD:n testtags-filuun kun nuo kaikki tulee kannasta, se pitäisi nopeuttaa/keventää WD:n 5 minuutin välein olevaa raksutusta aika lailla :)

Tuotos oli seuraavanlainen (tein Tmaxit ja Tminit erillään koska oli helpompi parsia arraytä sillain)
DBTime on vvvv-kk-pp tt:mm:ss muodossa oleva aikaleima joka päiväkannassa on ajoitettu aikaan 23:58:00.

$memcache = new Memcache;
$memcache->connect('localhost', 11211) or die ("Could not connect");
$key = md5("howmanyday_min");
$get_result = $memcache->get($key);
if ($get_result) {
$hi = $get_result;
}else{
$query = "
SELECT YEAR(DBTime) as year, -20, count(Tmin) as Tmin FROM db WHERE Tmin < -20 GROUP BY YEAR(DBTime) UNION
SELECT YEAR(DBTime) as year, -15, count(Tmin) as Tmin FROM db WHERE Tmin < -15 GROUP BY YEAR(DBTime) UNION
SELECT YEAR(DBTime) as year, -10, count(Tmin) as Tmin FROM db WHERE Tmin < -10 GROUP BY YEAR(DBTime) UNION
SELECT YEAR(DBTime) as year, -5, count(Tmin) as Tmin FROM db WHERE Tmin < -5 GROUP BY YEAR(DBTime) UNION
SELECT YEAR(DBTime) as year, -0, count(Tmin) as Tmin FROM db WHERE Tmin < -0 GROUP BY YEAR(DBTime)
";
$result = mysql_query($query);
while ($row = mysql_fetch_assoc($result)) {$hi[] = $row;}
$memcache->set($key, $hi, MEMCACHE_COMPRESSED, 7200);
}
$memcache->close();