Materialized views in MySQL

Hej,

Eto, sem končno začel pisat tisti obljubljeni blog, nekaj postov je že na njem, pa začnimo kar s prvim.

Materialized views in MySQL

Komentarji seveda dobrodosli, na clanek seveda, komentarji na izvedbo bloga in njegov dizajn me trenutno ne zanimajo ;) Mogoce kdaj drugic v temi Recenzije spletnihi strani :P

74 odgovorov

frisby, res je, nisem dovolj podrobno pogledal :)

lahko pa zadevo resis tudi z uporabi backtickov:

$prikaz_imen = mysql_query("SELECT `id`, `show`, `name`, `type`, `sex`, `rating1`, `rating2`
FROM mnc_name
WHERE show='da' AND sex='male'
ORDER BY name DESC");

Nasploh je kar fajn uporabljat te backticke, kaj pa ves katere rezervirane besede bodo dodali v naslednjih verzijah :)

Pa se eno zadevo sem zdajle opazil...

$prikaz_imen = mysql_fetch_array($prikaz_imen);

Cemu tale reciklaza spremenljivke? Izgubis referenco na rezultat poizvedbe, ne mores vec nic z njo pocet...

sem sem selectal DB,

tole :

echo mysql_error();

mi vrne tole:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'show, name, type, sex, rating1, rating2 FROM mnc_name W' at line 1

Edit:

zdaj sem uredil takole:

$prikaz_imen = mysql_query("SELECT 'id', 'show', 'name', 'type', 'sex', 'rating1', 'rating2'
                                FROM mnc_name
                                WHERE show='yes' AND sex='male'
                                ORDER BY name DESC");

    while($ime = mysql_fetch_array($prikaz_imen))
    {
        echo "Name : ".$ime['name']." Mark : ".($ime['rating1'] / $ime['rating2'])."";
    }

    echo mysql_error();

dobim pa

Warning: mysqlfetcharray(): supplied argument is not a valid MySQL result resource in /home/damjan/publichtml/hexer/more-names.com/malenames.php on line 19
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'show='yes' AND sex='male' ORDER BY name DESC' at line 3

Vrstica 3:
WHERE show='yes' AND sex='male'

ja, frisby je imel prav :) glej zgoraj za resitve...

Hm, ja edino tukaj :

WHERE show='yes' AND sex='male'

morem dati

WHERE 'show'='yes' AND 'sex'='male' ?

Potem se mi ne izpiše nič niti error :S.

ja, sori HeXeR, res je, tudi tam mora bit... pa ne enojni narekovaj ampak backtick ` :)

WHERE `show`='yes' AND `sex`='male' ?

Je kaksen poseben razlog, da imas v polju show napisane vrednosti 'yes' in 'no' namesto boolean vrednosti?

Ne ni razloga, vem da bi lahko bilo 0 in 1 pa bi prihranil na velikosti DB :D, drugače pa najlepša hvala, sedaj dela ;).

Hmm, še neakj če bi se komu dalo, ker meni mysql ...

no v glavnem, recimo da imaš vrstico v bazi, v kateri je

1
1
1
3
4
3
2

pa bi rad izpisal samo različne zapise v bazi, v tem primeru

1
3
4
2

kako bi to storil ? Po možnosti s čim manjšim loadom serverja ...

distinct ? če si to mislil ;)

ja, distinct bi bila resitev :)

Najlepša hvala ;).