Megszámolni az oldalon futó összes sql query-t és kiiratni a parancsot
Hello mindenki!
Szeretnék tanácsot kérni, hogy milyen módszerrel számoljam meg azt, hogy egy oldal/url betöltésekor hány db sql parancs ment el az adatbázis felé továbbá az éppen elküldött parancsokat ki is szeretném iratni.
A válaszokat előre is köszönöm.
■ Szeretnék tanácsot kérni, hogy milyen módszerrel számoljam meg azt, hogy egy oldal/url betöltésekor hány db sql parancs ment el az adatbázis felé továbbá az éppen elküldött parancsokat ki is szeretném iratni.
A válaszokat előre is köszönöm.
DB réteg
Ha mysql_query-k vannak mindenütt, még akkor is javíthatsz a helyzeten, például úgy, hogy nyomsz egy "replace in files" funkciót a kedvenc editorodban és kicseréled az összes mysql_query hívást mondjuk my_mysql_query -re, és egy megfelelő en központi helyen definiálod is:
Igazából úgy szeretném
Gondolom úgy kell hogy létrehozok egy tömböt és azokat a lekéréseket amik éppen lefutnak egy adott oldal betöltésekor berakom ebbe a tömbbe, majd az oldal alján megszámolom hogy hány db elme van ennek a tömbnek és kiíratok az elemeket. Majd miután betöltődött az oldal a kód legvégén "unset"-elem a tömböt.
echo helyett.....
1) a fv elején:
global $page_queries=array();
echo ('<pre class="debug">' . htmlspecialchars ($query) . '</pre>');
helyett
$page_queries[]='<pre class="debug">' . htmlspecialchars ($query) . '</pre>'
és az oldalmegjelenítés végén simán kiirathatod a $page_queries tömb tartalmát
Esetleg a mysql query log használatával
Ez olyan esetekben lehet hasznos, amikor nem te irtad/ nem ismered a php kódot ( nem kell semmit keresgélni a php-ben :))
viszont hátránya a dolognak hogy amig ki nem kapcsolod, addig minden mysql user minden kérését logolja , vagyis csak 1 teszt szerveren tudod ezt megcsinálni, és minden egyes oldal lekérés utána ajánlott megnézni a logot (mert azt nem rögzíti pl hogy melyik oldalt nézted meg )
hmm..
Jól is működik az összes lefutó SELECT-et kitudom írni de az UPDATE és INSERT INTO parancsok nem kerülnek bele a tömbbe pedig 100% hogy lefutnak.
Érdekes...
Kérdés, hogy azokat is burkolod-e
a kód
Irasd akkor ki, ha latszik,