Abra o gerenciador de tarefas do servidor e veja que o processo da CPU sempre foi 99%, e a visualização está ocupada pelo processo mysql, que tem sido alto.
A saída do comando processlist mostra quais threads estão em execução, e você pode verificar o status atual em execução do banco de dados.
1. Vá ao diretório mysql/bin e insira a lista de processos mysqladmin; 2. Inicie o mysql e insira a lista de processos de exibição. Se você tiver permissão SUPER, pode ver todos os tópicos, caso contrário, só pode ver os tópicos da sua conta.
O significado e o propósito de cada coluna
id: Um identificador user: exibe o usuário atual, se não for root, esse comando só exibirá instruções SQL dentro das suas permissões. host: mostra de qual IP essa instrução vem de qual porta db: Exibe o banco de dados ao qual o processo está atualmente conectado. comando: Exibe os comandos executados pela conexão atual, geralmente suspensão, consulta e conexão. tempo: O tempo que esse estado dura, em segundos. estado: Exibe o status da instrução sql que usa a conexão atual, mas apenas um determinado estado na execução da instrução, uma instrução sql, foi consultada, por exemplo, pode ser necessário passar pela cópia para a tabela tmp, resultado de ordenação, envio de dados, etc info: Exibe essa instrução SQL, porque o comprimento é limitado, então a instrução SQL longa não é totalmente exibida, mas é uma base importante para julgar a declaração do problema.
Descobriu-se que existem duas instruções de consulta SQL que levam mais tempo e não foram executadas por mais de 1000 segundos, e as instruções SQL que copiamos do campo info são uma consulta conjunta, da seguinte forma:
selecione elenco (count(*) como ASSINADO) como col_0_0_ de 'RatedPassenger' ratedpasse0_, 'BaseInfoCompany' baseinfoco1_, 'OrderMatch' ordermatch2_ onde baseinfoco1_. Id da Companhia=ratedpasse0_. Empresa ID e ordermatch2_. OrderId=ratedpasse0_. OrderId Nós eliminamos o processo dessas duas instruções de consulta
Depois de esperar 10 segundos, percebi que o processador tinha caído bastante, mas ainda estava muito alto, e continuarei questionando o motivo!
Para a instrução de consulta conjunta de junção, adicione um índice ao campo associado ou modifique o código da consulta do programa. Criar uma instrução SQL de índice
Fim
|