Monitor Sve SQL upite u MySQL
Microsoftov SQL Server ima alat pod nazivom Profiler koji možete koristiti za praćenje svakog SQL upita koji pogodi bazu podataka. To je iznimno korisno za programere, kao i za administratore baza podataka, za rješavanje točnih upita koje generira aplikacija.
Nakon što smo se često prebacivali na korištenje MySQL-a, ovo je bila jedna od prvih stvari koju sam htjela shvatiti. Kako drugačije možete vidjeti stvarni SQL kod koji generira WordPress ili phpBB?
Prvo što trebamo učiniti jest uključiti zapisivanje upita u MySQL. Budite upozoreni da bi to trebalo biti učinjeno samo u razvoju… to stvarno usporava stvari kako bi se svaki pojedini upit zapisao u datoteku.
Pronađite i otvorite MySQL konfiguracijsku datoteku, obično /etc/mysql/my.cnf na Ubuntuu. Potražite odjeljak u kojem piše "Prijava i replikacija"
#
# * Prijava i replikacija
#
# Oba mjesta se rotiraju za cronjob.
# Imajte na umu da je ova vrsta zapisnika ubojica izvedbe.log = /var/log/mysql/mysql.log
Samo poništite oznaku varijable "log" da biste uključili zapisivanje. Ponovno pokrenite MySQL ovom naredbom:
sudo /etc/init.d/mysql ponovno pokretanje
Sada smo spremni početi pratiti upite dok ulaze. Otvorite novi terminal i pokrenite ovu naredbu za pomicanje datoteke dnevnika, podešavanje puta ako je potrebno.
tail -f /var/log/mysql/mysql.log
Sada pokrenite aplikaciju. Vidjet ćete da upiti baze podataka počinju letjeti u vašem terminalskom prozoru. (provjerite imate li na terminalu omogućeno pomicanje i povijest)
Impresioniran sam, phpbb3 ima prilično uske, optimizirane SQL kodove. WordPress je, s druge strane, vrlo neučinkovit.