Um colega da CleverCode recomendou recentemente uma ferramenta para analisar instruções SQL em MySQL, perfilamento, e descobriu que essa ferramenta é muito boa, capaz de analisar com precisão o tempo específico gasto em instruções SQL durante o processo de consulta. A CleverCode resume aqui e compartilha com você.
1 Introdução
O Query Profiler do MySQL é uma ferramenta de análise de diagnóstico de consultas muito conveniente, através da qual você pode obter o consumo de múltiplos recursos em todo o processo de execução de uma consulta, como CPU, IO, IPC, SWAP, etc., assim como a ocorrência de FALHAS DE PÁGINA, COMUTAÇÃO DE CONTEXTO, etc., e também obter a localização de cada função chamada pelo MySQL no arquivo fonte durante a execução da consulta.
A versão 5.0.37 ou posterior do MySQL suporta a função de depuração PROFILING, que permite entender os detalhes dos recursos consumidos pelas instruções SQL. Como requer chamar a função getrusage() do sistema, ela só pode ser usada em plataformas de classe Linux/Unix, não no Windows. Além disso, o PROFILING é para processar processos, e não threads, e outras aplicações no servidor podem afetar seus resultados de depuração, então essa ferramenta é adequada para depuração durante o desenvolvimento, e se você quiser depurar em um ambiente de produção, deve prestar atenção às suas limitações.
2 Operação
2.1 Verifique se o perfil está ativado, ele está desativado por padrão.
2.2 Ativar perfilamento. Perfilamento de variáveis é uma variável do usuário que precisa ser reativada toda vez.
2.3 Execute as seguintes instruções: Para evitar ter armazenado SQL previamente no QCACHE, recomenda-se forçar a instrução SELECT a não realizar a detecção do QCACHE ao executar SQL. Isso permite que você submeta a precisão da análise.
2.4 UsoConsulta de perfil de mostrarA mais recenteInformações de execução da afirmação。 (Análise: selecione sql_no_cache contagem(*) de system_user onde a idade > 20 anos)
2.5 Usando perfis de exibição. Veja uma lista de instruções executadas no servidor. (ID da consulta, tempo gasto, instrução).
2.6 Use o perfil de apresentação para consultar as informações de execução do ID da formulação. Aqui analisamos a declaração com ID 6. (Análise: selecione sql_no_cache contagem(*) de system_user onde a idade > 20 anos).
2.7 Obtenha o consumo de CPU e bloqueie de entradas.
2.8 Obtendo Informações Adicionais. pode ser obtido realizando "MOSTRAR PERFIL *** PARA CONSULTA n". Endereço de referência: http://dev.mysql.com/doc/refman/5.6/en/show-profile.html.
|