Подтвердить что ты не робот

Есть ли эквивалент Profiler для MySql?

"Microsoft SQL Server Profiler - графический пользовательский интерфейс для SQL Trace для мониторинга экземпляра Database Engine или Analysis Services".

Я нахожу использование SQL Server Profiler чрезвычайно полезным во время разработки, тестирования и когда я отлаживаю проблемы с приложением базы данных. Кто-нибудь знает, есть ли эквивалентная программа для MySql?

4b9b3361

Ответ 1

Что-то классное, что в версии 5.0.37 сервера сообщества MySQL new profiler.

Это может дать вам информацию, которую вы ищете.

Ответ 2

Хотите ли вы контролировать производительность или просто посмотреть, какие запросы выполняются? Если последний, вы можете настроить MySQL для регистрации всех запрошенных им запросов. В окне RedHat Linux вы можете добавить

log = /var/lib/mysql/query.log

в раздел [mysqld] /etc/my.cnf перед перезагрузкой MySQL.

Помните, что в сценарии загруженной базы данных эти журналы могут расти довольно большими.

Ответ 3

Попробуйте профилировщик JET - инструмент для анализа и диагностики запросов в реальном времени! Я использую его в своей работе. Отличное программное обеспечение и поддержка. Обзор Jet Profiler для MySQL

Ответ 4

Jet Profiler хорош, если это платная версия. LogMonitor просто указывает на файл журнала mysql.

Ответ 5

По-моему, я нашел все здесь в сыром....

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

# * 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

или в более новых версиях mysql, комментируйте OUT эти строки кодов

general_log_file        = /var/log/mysql/mysql.log
general_log             = 1
log_error                = /var/log/mysql/error.log

Просто раскомментируйте переменную "log", чтобы включить ведение журнала. Перезапустите MySQL с помощью этой команды:   sudo/etc/init.d/mysql restart

Теперь были готовы начать мониторинг запросов по мере их поступления. Откройте новый терминал и запустите эту команду, чтобы прокрутить файл журнала, при необходимости отрегулировав путь.

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

Ответ 6

Если версия 5.0.37 недоступна, вы можете посмотреть mytop. Он просто выводит текущий статус сервера, но позволяет запускать EXPLAIN как (упомянутый mercutio) по конкретным запросам.

Ответ 7

Я не знаю о каких-либо профилирующих приложениях как таковых, но обычно использовать синтаксис EXPLAIN для анализа запросов. Вы можете использовать их для определения лучших индексов для создания, или вы можете попробовать изменить общий запрос и посмотреть, как он изменяет эффективность и т.д.

Ответ 8

Не уверен в графическом интерфейсе пользователя, но есть команда, которая очень помогла мне в профиле хранимых процедур в MySQL с помощью workbench:

SET profiling = 1;
call your_procedure;
SHOW PROFILES;
SET profiling = 0;