Hjemmeside » hvordan » Overvåg alle SQL-forespørgsler i MySQL

    Overvåg alle SQL-forespørgsler i MySQL

    Microsofts SQL Server har et værktøj kaldet Profiler, som du kan bruge til at overvåge alle SQL-forespørgsler, der rammer databasen. Dette er yderst nyttigt for programmører såvel som databaseadministratorer til fejlfinding af de nøjagtige forespørgsler, der genereres af en applikation.

    Efter at have skiftet til brugen af ​​MySQL på hyppig basis, var dette en af ​​de første ting, jeg ønskede at finde ud af, hvordan man skulle gøre. Hvordan kan du ellers se den egentlige SQL-kode genereret af WordPress eller phpBB?

    Det første, vi skal gøre, er at aktivere logføring af forespørgsler i MySQL. Vær advaret om, at dette kun skal ske under udvikling ... det går langsomt ned for at logge hver enkelt forespørgsel til en fil.

    Find og åbn din MySQL-konfigurationsfil, normalt /etc/mysql/my.cnf på Ubuntu. Kig efter sektionen, der siger "Logging and Replication"

    #
    # * Logging og replikering
    #
    # Begge steder bliver roteret af cronjob.
    # Vær opmærksom på, at denne log type er en ydeevne morder.

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

    Bare uncomment "log" variablen for at tænde logning. Genstart MySQL med denne kommando:

    sudo /etc/init.d/mysql genstart

    Nu er vi klar til at begynde at overvåge forespørgsler efterhånden som de kommer ind. Åbn en ny terminal og kør denne kommando for at rulle logfilen, justere stien om nødvendigt.

    hale -f /var/log/mysql/mysql.log

    Kør nu din ansøgning. Du kan se databasens forespørgsler begynde at flyve i dit terminalvindue. (sørg for at du har scrolling og historie aktiveret på terminalen)

    Jeg er imponeret, phpbb3 har ret stramt, optimeret SQL-kode. WordPress er derimod meget ineffektivt.