Microsoft SQL Server má nástroj s názvem Profiler, který můžete použít ke sledování každého dotazu SQL, který narazí na databázi. To je mimořádně užitečné pro programátory i administrátory databází, které vám řeší přesné dotazy generované aplikací.

Když jsem častěji přešla na MySQL, byla to jedna z prvních věcí, která jsem chtěla zjistit, jak postupovat. Jak jinak vidíte skutečný kód SQL vygenerovaný službou WordPress nebo phpBB?

První věc, kterou budeme muset udělat, je zapnout protokolování dotazů v MySQL. Buďte varováni, že by se to mělo dělat jen ve vývoji ... skutečně zpomaluje to, aby se každý záznam do souboru přihlásil.

Najděte a otevřete konfigurační soubor MySQL, obvykle /etc/mysql/my.cnf na Ubuntu. Hledejte sekci s názvem "Protokolování a replikace"

## * Logging and Replication## Both location gets rotated by the cronjob.# Be aware that this log type is a performance killer.

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

Stačí odkomentovat proměnnou "log" pro zapnutí protokolování. Restartujte MySQL pomocí tohoto příkazu:

sudo /etc/init.d/mysql restart

Nyní jsme připraveni sledovat dotazy při jejich příchodu. Otevřete nový terminál a spusťte tento příkaz, abyste mohli procházet soubor protokolu, případně upravit cestu.

tail -f /var/log/mysql/mysql.log

Nyní spusťte aplikaci. Zobrazí se dotazy databáze, které začínají létat v terminálovém okně. (ujistěte se, že na terminálu máte aktivován rolování a historie)

Jsem ohromen, phpbb3 má poměrně těsný, optimalizovaný kód SQL. WordPress, na druhé straně, je velmi neefektivní.

Nejlepší Tipy:
Komentář: