If-Koubou

Pratite sve SQL upite u MySQL-u

Pratite sve SQL upite u MySQL-u (Kako da)

Microsoftov SQL Server ima alat nazvan Profiler koji možete koristiti za praćenje svakog SQL upita koji udara u bazu podataka. Ovo je iznimno korisno programerima kao i administratorima baza podataka za rješavanje točnih upita koje generira aplikacija.

Nakon što se često upotrebljavala MySQL, ovo je bila jedna od prvih stvari za koje sam htio saznati kako to učiniti. Kako još možete vidjeti stvarni SQL kod koji generira WordPress ili phpBB?

Prva stvar koju moramo učiniti jest uključiti prijavljivanje upita u MySQL. Budite upozoreni da to treba učiniti samo u razvoju ... stvarno usporava stvari kako bi prijavio svaki upit u datoteku.

Pronađite i otvorite MySQL konfiguracijsku datoteku, obično /etc/mysql/my.cnf na Ubuntu. Potražite odjeljak koji kaže "Zapisivanje i replikacija"

#
# * Prijava i repliciranje
#
# Obje lokacije dobivaju rotirajući cronjob.
# Imajte na umu da je ova vrsta zapisnika ubojica izvedbe.

log = /var/log/mysql/mysql.log

Jednostavno odjavite varijablu "log" kako biste uključili prijavljivanje. Ponovno pokrenite MySQL pomoću ove naredbe:

sudo /etc/init.d/mysql ponovno pokretanje

Sada smo spremni za početak praćenja upita prilikom dolaska. Otvorite novi terminal i pokrenite ovu naredbu da biste pomicali datoteku zapisnika, ako je potrebno prilagodite putanju.

rep -f /var/log/mysql/mysql.log

Sada pokrenite aplikaciju. Vidjet ćete da upite baze podataka počinju letjeti u prozoru terminala. (provjerite imate li pomicanje i povijest omogućena na terminalu)

Impresioniran sam, phpbb3 ima prilično čvrst, optimiziran SQL kod. WordPress, s druge strane, vrlo je neučinkovit.