Существует ли эквивалент профилировщика для MySQL?[закрыто]

StackOverflow https://stackoverflow.com/questions/20263

  •  09-06-2019
  •  | 
  •  

Вопрос

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

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

Это было полезно?

Решение

Что-то классное, что есть в версии 5.0.37 сервера сообщества, это Новый профилировщик MySQL.

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

Другие советы

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

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

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

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

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

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

Найдите и откройте файл конфигурации 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 закомментируйте эти строки кода

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

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

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

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

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

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

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

Использование Neor Profiler SQL - это превосходно!!и приложение является бесплатным для всех пользователей. http://www.profilesql.com/download/enter image description here

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top