Por padrão, o AWS RDS registra consultas lentas em uma tabela de banco de dados.
Existe uma maneira de executar o mysqldumpslow nessa tabela, sem exportá-lo para um arquivo primeiro? Ou existe uma maneira melhor de obter um relatório de consultas lentas?
mysqldumpslow só funciona em arquivos de texto, então você precisa esquecer de usá-lo.
A tabela
mysql.slow_log
é uma tabela CSV por padrão.Você não deseja consultar uma tabela CSV, pois ela fará verificações completas da tabela todas as vezes.
O que você pode fazer é criar uma cópia da tabela em outro banco de dados e indexar
start_time
Em seguida, você pode consultar
my_slow_log.slow_log
por valores de data e horaEu já discuti isso antes
Nov 18, 2011
: Crie uma tabela de log personalizada no MySQLMar 30, 2012
: Configuração de log lento do MySQLDe uma chance !!!
CAVEAT: Você teria que recarregar os dados toda vez que quiser os últimos logs lentos.
Nesse caso, se você quiser apenas logs lentos da meia-noite de 3 dias atrás, faça o seguinte:
ou apenas nas últimas 3 horas
ATUALIZAÇÃO 2014-12-11 14:50 EST
Seu comentário
Você pode apresentar isso aos seus desenvolvedores solicitando entradas de logs lentos da seguinte maneira:
As 20 consultas com pior desempenho de hoje
Contagem de consultas lentas por hora nas últimas 2 semanas
Contagem de consultas lentas por minuto nas últimas 6 horas
Consultas como essas podem fornecer estatísticas quando as consultas lentas são executadas e quais foram as consultas reais.
Você pode enviar essas consultas para um arquivo de texto e enviá-las aos desenvolvedores