MySQL Profiler: простой и удобный инструмент профилирования запросов
Прислано: Химический Али
ср, 23/09/2009 - 21:53
Хабрачувак agorlov сообщает:
Сегодня был неожиданно удивлен, какие удобные штуки таит в себе MySQL. Хочу представить вашему вниманию фичу MySQL — профайлинг. Появилась она начиная с версии 5.0.37.
Всего парой запросов можно узнать, какими запросами формируется страница (для веб-девелоперов) и почему она тормозит. И раньше подобный функционал был доступен, но пользоваться журналом запросов не в пример сложнее.
Итак, как пользоваться:
mysql> set profiling=1; mysql> select count(*) from comment; mysql> select count(*) from message; mysql> show profiles; +----------+------------+------------------------------+ | Query_ID | Duration | Query | +----------+------------+------------------------------+ | 1 | 0.00012700 | select count(*) from comment | | 2 | 0.00014200 | select count(*) from message | +----------+------------+------------------------------+ 2 rows in set (0.00 sec)
- Химический Али's blog
- Для комментирования войдите или зарегистрируйтесь
Эх, если б профайлер как в SQL Server....
- Для комментирования войдите или зарегистрируйтесь
Интересная вещь. Вот только как её приспособить к Друпалу? Т.е. где нужно прописать set profiling=1;, чтобы после щелчка по ссылке и загрузке страницы, ввести там же show profiles; и получить результат?
P.S. Кстати похожий функционал реализован в модуле devel.
- Для комментирования войдите или зарегистрируйтесь
Эх, если б профайлер как в SQL Server....
C MS SQL тесно не работал. Просто любопытно, какой функционал есть в их профайлере, чего нельзя получить анализом логов mysql?
- Для комментирования войдите или зарегистрируйтесь
Интересная вещь. Вот только как её приспособить к Друпалу? Т.е. где нужно прописать set profiling=1;, чтобы после щелчка по ссылке и загрузке страницы, ввести там же show profiles; и получить результат?
P.S. Кстати похожий функционал реализован в модуле devel.
Надо порыться в направлении hook_boot и hook_exit. На крайняк можно попробовать на время отладки задать соответствующие sql-запросы где-нибудь в db_set_active и в конце файла index.php чтобы увидеть точно все профайлы. Хотя сам еще не пробовал, так что точно ничего не скажу.
- Для комментирования войдите или зарегистрируйтесь
Axel
Да я и сам тесно не работал, просто приходилось сталкиватся несколько раз и очень понравилось :)
Удобно когда профайлер сделан отдельным приложением, интегрирован с средствами для написания запросов, и менеджером, множество настроек, шаблонов, можно одновременно запускать трейсы на разных серверах и тд.
По функционалу особо не скажу, не сравнивал, но то что просто быстрее и удобнее это факт. Если коротко, это как пользоватся компом с мышью и без :)
Все ИМХО конечно.
- Для комментирования войдите или зарегистрируйтесь
Удобно когда профайлер сделан отдельным приложением, интегрирован с средствами для написания запросов, и менеджером, множество настроек, шаблонов, можно одновременно запускать трейсы на разных серверах и тд.
Заинтересовал, посмотрю теперь. Под mysql есть весьма функциональные GUI вроде dbforge или navicat, значительно мощнее дефолтного gui от mysql - с визуальными конструкторами, шаблонами и пр., но afaik в обоих средства профайлинга не предлагаются (explain только).
С мышью или без мыши зависит от того как построен интерфейс :) В командной строке от мыши одни неудобства.
- Для комментирования войдите или зарегистрируйтесь
Уважаемые пользователи!
Такая функциональность как "Профилировщик MySQL" будет доступна в dbForge Studio for MySQL (Русская редакция) в версии v4.20.
Также в версии 4.20 будет значительно улучшено визуализация explain.
Пожелания можно оставить здесь: http://www.devart.com/ru/forums/viewtopic.php?t=13003
Спасибо,
Команда разработчиков dbForge Studio for MySQL.
- Для комментирования войдите или зарегистрируйтесь





Комментарии