[ vilyu @ 21.11.2007. 10:20 ] @
Praćenjem brzina izvršavanja pojedinih stranica web portala na kome radim, konstatovao sam da se strana na kojoj imam neke dodatne upite izvršava znatno duže nego ostale strane koje dele najveći deo koda sa ovom stranom. Kada sam pokušao da uporedim vreme izvršavanja inicijalnog - sporog upita i ispravljenog - brzog upita, po srednjim vrednostima vremena izvršavanja na 10 zahteva, konstatovao sam da se i spori upit od jednom brzo izvršava. Strana sa sporim upitom bi se brže izvršavala ukoliko bih samo nju zahteva 10 puta, nego kada bi se među tih 10 zahteva našli i zahtevi za drugim stranicama.

Odatle sam zaključio da MySQL definitivno sprovodi neki vid optimizacije ili keširanja ovog upita, ukoliko stranicu pozovem više puta za redom, bez pozivanja drugih strana u međuvremenu.

E sad, s obzirom na to da je promenljiva query_cache_size postavljena na 0, interesuje me šta bi moglo da uzrokuje ovaj vid optimizacije ili keširanja i kako da ga sprečim, kako bih mogao ispravno da merim vreme izvršavanja pojedinih upita. Hvala unapred.
[ Milan M. Radovic @ 29.11.2007. 00:58 ] @
To je vec do samog servera i nema naravno veze sa PHPom, to sto MySQL radi je kao neka vrsta indexiranja upita a posle ,ukoliko nije nista promenjeno u bazu podaci se brze salju jer nema potrebe da se obradjuju ponovo podaci... tako ti je npr i kod ACCESSA kad ga povezes sa VB.NET Aplikacijom... prvo klinkes i cekas,a posle sve ide brze,cak i sa ostalim upitima... sve je to negde dragi moj u assembler kodu tog programa (tj. sql servera) tako.

Nego,vidi ti da optimizujes taj kod da uvek radi lepo... da li znas koji ti upit pravi njesra?
[ vilyu @ 29.11.2007. 08:20 ] @
Naravno da nema veze sa PHP-om, zato sam i postavio pitanje u MySQL podforum. A i jasno mi je da je do RDBMS-a, zato sam i naveo konfiguracionu promenljivu servera koja nije resila problem, iako je delovala da tome sluzi. Zato me i interesuje koje jos switcheve za optimizaciju ima MySQL. Barem dok ne procitam celu dokumentaciju, a na putu sam.
[ Milan M. Radovic @ 30.11.2007. 11:53 ] @
Nekad sam upit moze biti kriv za sporo izvrsavanje.Ako je spajanje tabela dekartovim proizvodom,onda ce ici nogo sporo...vidi ako mozes da uradis za ugnjezdenim upitom... sam optimizator ima MySQL ugradjen,tako da ce on uvek optimizovati upit.E sad,koliko ti imas redova u toj nekoj tabeli?