Početna » kako da » Monitor Sve SQL upite u MySQL

    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.