Microsofts SQL Server har et verktøy som heter Profilersom du kan bruke til å overvåke alle SQL-spørsmål som treffer databasen. Dette er ekstremt nyttig for programmerere og databaseadministratorer for å feilsøke de nøyaktige spørringene som genereres av et program.
Etter å ha byttet til å bruke MySQL ofte, var dette en av de første tingene jeg ønsket å finne ut hvordan jeg skulle gjøre. Hvordan ellers kan du se den faktiske SQL-koden generert av WordPress eller phpBB?
Det første vi må gjøre er å slå på logging av spørsmål i MySQL. Vær advart om at dette bare skal gjøres under utvikling ... det bremser virkelig ting for å logge hvert eneste spørsmål til en fil.
Finn og åpne MySQL-konfigurasjonsfilen, vanligvis /etc/mysql/my.cnf på Ubuntu. Se etter seksjonen som sier “Logging and Replication”
#
# * Logging og replikering
#
# Begge stedene blir rotert av cronjob.
# Vær oppmerksom på at denne loggtypen er en ytelsesmorder.
logg = /var/log/mysql/mysql.log
Bare merk av "logg" -variabelen for å slå på logging. Start MySQL på nytt med denne kommandoen:
sudo /etc/init.d/mysql omstart
Nå er vi klare til å begynne å overvåke spørsmålene når de kommer inn. Åpne en ny terminal og kjør denne kommandoen for å bla i loggfilen, og justere banen om nødvendig.
hale -f /var/log/mysql/mysql.log
Kjør nå søknaden din. Du ser databasespørsmålene begynne å fly forbi i terminalvinduet. (sørg for at rulle og historie er aktivert på terminalen)
Jeg er imponert, phpbb3 har ganske stram, optimalisert SQL-kode. WordPress er derimot veldig ineffektivt.