Existe um Profiler equivalente para MySql?[fechado]
-
09-06-2019 - |
Pergunta
"Microsoft SQL Server Profiler é uma interface gráfica de usuário para SQL Trace para monitorar uma instância do Mecanismo de Banco de Dados ou do Analysis Services."
Acho o uso do SQL Server Profiler extremamente útil durante o desenvolvimento, testes e quando estou depurando problemas de aplicativos de banco de dados.Alguém sabe se existe um programa equivalente para MySql?
Solução
Algo legal que está na versão 5.0.37 do community server é O novo perfilador do MySQL.
Isso pode fornecer as informações que você está procurando.
Outras dicas
Você deseja monitorar o desempenho ou apenas ver quais consultas estão sendo executadas?Neste último caso, você pode configurar o MySQL para registrar todas as consultas fornecidas.Em uma caixa RedHat Linux, você pode adicionar
log = /var/lib/mysql/query.log
para a seção [mysqld] de /etc/my.cnf
antes de reiniciar o MySQL.
Lembre-se de que em um cenário de banco de dados movimentado, esses logs podem crescer bastante.
Experimente o JET Profiler, uma ferramenta de diagnóstico e desempenho de consulta em tempo real!Eu uso isso no meu trabalho.Excelente software e suporte.Revise o Jet Profiler para MySQL
Na minha opinião encontrei tudo aqui cru....
Encontre e abra seu arquivo de configuração do MySQL, geralmente /etc/mysql/my.cnf no Ubuntu.Procure a seção que diz “Logging e Replicação”
# * 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
ou em versões mais recentes do mysql, comente estas linhas de códigos
general_log_file = /var/log/mysql/mysql.log
general_log = 1
log_error = /var/log/mysql/error.log
Basta descomentar a variável “log” para ativar o registro.Reinicie o MySQL com este comando:sudo /etc/init.d/mysql reiniciar
Agora estamos prontos para começar a monitorar as consultas conforme elas chegam.Abra um novo terminal e execute este comando para rolar o arquivo de log, ajustando o caminho se necessário.
tail -f /var/log/mysql/mysql.log
Jet Profiler é bom se for uma versão paga.O LogMonitor apenas aponta para o arquivo de log do mysql.
Não tenho certeza sobre a interface gráfica do usuário, mas há um comando que me ajudou muito a criar o perfil de procedimentos armazenados no MySQL usando o ambiente de trabalho:
SET profiling = 1;
call your_procedure;
SHOW PROFILES;
SET profiling = 0;
Se a versão 5.0.37 não estiver disponível, você pode querer dar uma olhada meu topo.Ele simplesmente exibe o status atual do servidor, mas permite executar EXPLAIN as (mencionado por mercutio) em consultas específicas.
Usar o Neor Profiler SQL é excelente!!e o aplicativo é gratuito para todos os usuários. http://www.profilesql.com/download/
Não conheço nenhum aplicativo de criação de perfil, mas é comum usar a sintaxe EXPLAIN para analisar consultas.Você pode usá-los para descobrir os melhores índices a serem criados ou pode tentar alterar a consulta geral e ver como isso altera a eficiência, etc.