If-Koubou

Следете всички SQL заявки в MySQL

Следете всички SQL заявки в MySQL (Как да)

SQL Server на Microsoft има инструмент, наречен Profiler, който можете да използвате за проследяване на всяка SQL заявка, която удря базата данни. Това е изключително полезно както за програмисти, така и за администратори на бази данни, за да отстранявате точните заявки, генерирани от дадено приложение.

След като често използвах MySQL, това беше едно от първите неща, които исках да разбера как да го направя. Как иначе може да видите действителния SQL код, генериран от WordPress или phpBB?

Първото нещо, което трябва да направите, е да включите записите на заявки в MySQL. Бъдете предупредени, че това трябва да се прави само в процес на разработка ... наистина забавя нещата, за да се регистрират всяка една заявка във файл.

Намерете и отворете MySQL конфигурационния файл, обикновено /etc/mysql/my.cnf на Ubuntu. Потърсете раздела "Записване и репликация"

#
# * Регистрация и репликация
#
# И двете места се въртят от cronjob.
# Имайте предвид, че този тип дневник е убиец на изпълнение.

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

Просто отключете променливата "лог", за да включите регистрацията. Рестартирайте MySQL с тази команда:

sudo /etc/init.d/mysql рестартиране

Сега сме готови да започнем да наблюдаваме заявките при влизането им. Отворете нов терминал и изпълнете тази команда, за да прегледате регистрационния файл, ако е необходимо, да коригирате пътя.

опашка -f /var/log/mysql/mysql.log

Сега изпълнете заявката си. Ще видите, че заявките за базата данни започват да се движат във вашия терминален прозорец. (уверете се, че имате превъртане и история, активирани на терминала)

Аз съм впечатлен, phpbb3 има доста стегнат, оптимизиран SQL код. WordPress, от друга страна, е много неефективно.