SQL Server Microsoft має інструмент під назвою Profilerякі ви можете використовувати для моніторингу кожного SQL-запиту, який потрапляє в базу даних. Це надзвичайно корисно для програмістів, а також адміністраторів баз даних для усунення точних запитів, створених додатком.
Перейшовши на часте використання MySQL, це було одне з перших речей, які я хотів зрозуміти, як це зробити. Як ще можна побачити фактичний код SQL, сформований WordPress або phpBB?
Перше, що нам потрібно зробити, це ввімкнути журнал запитів у MySQL. Попереджуйте, що це слід робити лише в процесі розробки ... це дійсно сповільнює роботу реєструвати кожен запит у файл.
Знайдіть і відкрийте файл конфігурації MySQL, як правило, /etc/mysql/my.cnf в Ubuntu. Шукайте розділ, в якому написано "Реєстрація та реплікація"
#
# * Реєстрація та реплікація
#
# Обидва місця обертаються за допомогою кронштейну.
# Будьте в курсі, що цей тип журналу є вбивцею продуктивності.
log = /var/log/mysql/mysql.log
Просто скаментуйте змінну "log", щоб увімкнути журнал. Перезапустіть MySQL за допомогою цієї команди:
sudo /etc/init.d/mysql перезапустити
Тепер ми готові розпочати моніторинг запитів під час їх надходження. Відкрийте новий термінал і запустіть цю команду, щоб прокрутити файл журналу, коригуючи шлях, якщо це необхідно.
хвіст -f /var/log/mysql/mysql.log
Тепер запустіть свою програму. Ви побачите, що запити до бази даних починають виконуватись у вікні вашого терміналу. (переконайтеся, що в терміналі увімкнено прокрутку та історію)
Я вражений, phpbb3 має досить щільний, оптимізований SQL-код. WordPress, з іншого боку, дуже неефективний.