Seuraa kaikkia SQL-kyselyjä MySQL ssä
Microsoftin SQL-palvelimessa on Profiler-työkalu, jonka avulla voit seurata jokaista tietokantaan osuvaa SQL-kyselyä. Tämä on erittäin hyödyllistä sekä ohjelmoijille että tietokannan ylläpitäjille, jotta vianmääritys voi aiheuttaa sovelluksen tuottamia tarkkoja kyselyitä.
Kun siirryttiin käyttämään MySQL: ää usein, tämä oli yksi ensimmäisistä asioista, joita halusin selvittää. Miten muuten näet WordPressin tai phpBB: n tuottaman todellisen SQL-koodin?
Ensimmäinen asia, joka meidän on tehtävä, on kääntyä kyselyiden kirjautumiseen MySQL: ssä. Varoitetaan, että tämä pitäisi tehdä vain kehityksessä… se todella hidastaa asioita, jotta jokainen kysely kirjataan tiedostoon.
Etsi ja avaa MySQL-määritystiedostosi, yleensä /etc/mysql/my.cnf, Ubuntu. Etsi osio, jossa kerrotaan "Logging and Replication"
#
# * Kirjaus ja kopiointi
#
# Molemmat paikat kääntyvät cronjobin avulla.
# Huomaa, että tämä lokityyppi on suorituskyvyn tappaja.log = /var/log/mysql/mysql.log
Poista vain loki-muuttuja, kun haluat ottaa kirjautumisen käyttöön. Käynnistä MySQL uudelleen tämän komennon avulla:
sudo /etc/init.d/mysql käynnistyy uudelleen
Nyt olemme valmiita aloittamaan kyselyjen seurannan, kun ne tulevat sisään. Avaa uusi terminaali ja suorita tämä komento selataksesi lokitiedostoa säätämällä tarvittaessa polkua.
tail -f /var/log/mysql/mysql.log
Suorita nyt sovelluksesi. Näet tietokannan kyselyt alkavat lentää pääteikkunassa. (varmista, että sinulla on vieritys ja historia käytössä päätelaitteessa)
Olen vaikuttunut, phpbb3: lla on melko tiukka, optimoitu SQL-koodi. WordPress puolestaan on hyvin tehotonta.